1501 Commits

Author SHA1 Message Date
VilhoRaatikka
889bdd4f8c In dcb.c:dcb_close DCB is removed either before or after the call dcb->func.close. Since mysql backend protocol sends COM_QUIT and thus, writes to backend DCB, it is kept in DCB_STATE_POLLING until the write is completed.
dcb.h: define ERRHAND temporarily since changes are still behind that macro
Defined two error handling actions in router.h: ERRACT_NEW_COMMECTION and ERRACT_REPLY_CLIENT.
Failed database is logged at expanding frequence to error and to message log due changes in mysql_mon.c. Added two new members in MONITOR_SERVERS: mon_err_count, and mon_prev_status so that each backend can be treated individually.

Error handling: if mysql_backend.c:dcb_read fails, router's handleError is called instead of closing session.
	If mysql_client.c:SESSION_ROUTE_QUERY fails router's handleError is called instead of sending error to client.

	readwritesplit.c:select_connect_backend_servers is modified so that in can be called during active router session. When called, it attempts to find one master and maximum number of configured slaves in correct state if necessary.
	When handleError needs to replace failed unit it now calls select_connect_backend_servers.
2014-06-08 19:36:12 +03:00
Mark Riddoch
f7a177dac8 Improved diagnostics 2014-06-08 13:52:48 +01:00
Mark Riddoch
fda9b1c706 Merge branch 'develop' into blr
Conflicts:
	server/core/dcb.c
	server/modules/include/blr.h
	server/modules/routing/binlog/STATUS
	server/modules/routing/binlog/blr.c
	server/modules/routing/binlog/blr_file.c
	server/modules/routing/binlog/blr_master.c
	server/modules/routing/binlog/blr_slave.c
2014-06-08 00:50:36 +01:00
Mark Riddoch
13e95ffc53 Improved diagnostics
Added master reconnect on failure

Added EPOLLRDHUP events
2014-06-07 21:01:11 +01:00
Mark Riddoch
9e164b83f0 Updates to debug CLI
Fix for argument passign to show filter

Addition of list dcbs commands
2014-06-07 20:41:58 +01:00
VilhoRaatikka
916b763685 Completed merge, fixed print delay to simple one. 2014-06-07 01:05:12 +03:00
VilhoRaatikka
ad744962b2 Merge branch 'develop' into MAX-11
Conflicts:
	server/include/server.h
	server/modules/monitor/mysql_mon.c
	server/modules/protocol/mysql_client.c
	server/modules/routing/readwritesplit/readwritesplit.c
	utils/skygw_debug.h
2014-06-07 00:50:08 +03:00
VilhoRaatikka
7e6cb7afc2 Snapshot of failure tolerance changes.
Added a lot of logging to error, trace and message logs which should help the user to handle errors which can't be automatically resolved, like attempt to use nonexisting database.
2014-06-06 23:32:04 +03:00
Mark Riddoch
656c54af0a Fixed memory allocation issue when the repalcement text is considerably
longer than the match text.
2014-06-05 17:08:44 +01:00
Mark Riddoch
be87556ab0 Fix for compiler warnings 2014-06-05 15:26:57 +01:00
Mark Riddoch
ea177b481f Fixed for typo in modutil.h
Addition of timestamps to the query log produced by the QLA filter
2014-06-04 23:30:54 +01:00
Mark Riddoch
46ca0676c0 A filter parameter fix and a new filter, the regex filter.
The regexfilter is an example of a query rewriting filter that uses
regular expressions to match the SQL text and allows a replacement text
to be used for each match of the regular expression.

Regexfilter has no special SQL undertanding, it merely uses the features
avialable inthe regex library to perform matches.

Statements that span multiple packets are not supported by the regex
filter.
2014-06-04 23:04:17 +01:00
Mark Riddoch
f612b90cd7 Merge branch 'develop' into MAX-65 2014-06-04 21:14:31 +01:00
Mark Riddoch
bb0e6c3858 Support non-default binlog filenames
Add support for bin log file names that are shorter than the default.
Handle events per more than 2 packets
2014-06-04 18:37:41 +01:00
Mark Riddoch
57e910ad3d Addition of the module utilities functions 2014-06-04 18:34:24 +01:00
VilhoRaatikka
7e863657db Removed references to SERVER_IS_JOINED status from readwritesplit.c because rwsplit for Galera doesn't use that status at all. 2014-06-04 14:49:05 +03:00
VilhoRaatikka
46495bb59e Bug #443, http://bugs.skysql.com/show_bug.cgi?id=443
monitors used mysql_ping without MYSQL_OPT_READ_TIMEOUT which caused read to block. Fixed in mysql and galera monitor.
Added log writing per each status change of each server and repeatedly if server is not running.

Removed SERVER_IS_JOINED checks from rwsplit router.
2014-06-03 19:39:50 +03:00
Mark Riddoch
1ebf27eab3 Add server maintenance mode.
Maintenance mode prevents a server from having new connections made
to it and stops MaxScale from monitoring a server. It is designed
to allow a server to be taken out of an active cluster for maintenance.
It prevents new connections and allowsg existing connections to
drain away prior to performaing maintenance on the server.
2014-06-03 09:25:09 +01:00
Mark Riddoch
1d48794963 Addition of API modinfo implementation for filters 2014-06-02 18:18:31 +01:00
Mark Riddoch
b764745fc3 Merge branch 'develop' into MAX-65
Conflicts:
	server/core/config.c
2014-06-02 18:07:09 +01:00
Mark Riddoch
1245fba35b Addition of the module info structure to allow module information to
be extracted from the modules.

This gives a way to verify the API that the module provides as well
as the version of that API. The hope is that this will make it possible
for MaxScale to detect out of date plugins and either adapt to use them
or reject loading them.

Also added the ability to set a release state on a per module basis.
This allows for production ready and non-production ready plugins to
be identified.
2014-06-02 17:10:05 +01:00
Mark Riddoch
857ae25570 Addition of session filter tracking in order to allow the show session
command to call the diagnostic entries points of the filters in the
session.

Slight improvements to the two example filters and a fix to the
trim routine.
2014-06-02 10:56:50 +01:00
Mark Riddoch
8d55be4b23 First working filters implementaton.
Only downstream filters are supported currently, i.e. no result
set filtering can be done.

A crude QLA (Query Log All) filter is included as a test harness only
2014-05-30 16:45:39 +01:00
Mark Riddoch
752f28ce48 Merge branch 'develop' of github.com:skysql/MaxScale into develop 2014-05-29 16:57:49 +01:00
Mark Riddoch
3e17120105 Allow space for terminating NULL in args array 2014-05-29 16:57:17 +01:00
MassimilianoPinto
d19aedeb2c Merge branch 'develop' into feature-MAX-60 2014-05-29 12:12:05 +02:00
MassimilianoPinto
71bc2ba3ee set maxscale_id updated
set maxscale_id updated
2014-05-29 09:43:21 +02:00
Mark Riddoch
f84e2b0dae Merge branch 'develop' of github.com:skysql/MaxScale into develop 2014-05-28 23:39:17 +01:00
Mark Riddoch
4b5f801ff9 Misc fixes for bin log rotate issues 2014-05-28 23:38:54 +01:00
Mark Riddoch
797f044cf9 Addition of the list command to the debugcli to list servers,
services, listeners and sessions
2014-05-28 23:25:47 +01:00
MassimilianoPinto
c658c0fe9a Replication Lag parameter in diagnostics
Replication Lag parameter value is now printed in diagnostics routine
for MySQL monitor
2014-05-28 18:42:17 +02:00
MassimilianoPinto
38b3368fe3 Merge branch 'develop' into feature-MX-60 2014-05-28 17:56:58 +02:00
MassimilianoPinto
4db9162bbc diagnostic routines updated
diagnostic routines updated
2014-05-28 17:56:18 +02:00
MassimilianoPinto
31e2d4e12a monitor diagnostics update
monitor diagnostics update
2014-05-28 17:52:37 +02:00
VilhoRaatikka
1a2b8e5475 Router spinlock wasn't used to protect routing. As a consequence router could have been closed in thread #1 while thread #2 was in a middle of execution of router code. Solved by holding router lock so that it covered whole routing operation. 2014-05-28 18:29:02 +03:00
MassimilianoPinto
e4545baf97 Node Replication Consistency
Node Replication Consistency
2014-05-28 17:27:09 +02:00
MassimilianoPinto
fe0fcd75e4 new monitor routines
new monitor routines
2014-05-28 15:44:51 +02:00
MassimilianoPinto
ca4b53f1b8 Merge branch 'develop' into feature-MX-60 2014-05-28 14:48:27 +02:00
VilhoRaatikka
a73c9c8076 Completing fix to #438 2014-05-28 14:39:44 +03:00
VilhoRaatikka
89c51cff20 Completing fix to #438 2014-05-28 14:36:53 +03:00
VilhoRaatikka
a42e7b5702 Bug #438, http://bugs.skysql.com/show_bug.cgi?id=438 try to complete the fix. dcb->authlock was double-freed. 2014-05-28 14:06:06 +03:00
MassimilianoPinto
798dd6a5a6 Added routines for interval and defaultId (MySQL)
Added routines for interval and defaultId (MySQL)
2014-05-28 11:51:58 +02:00
MassimilianoPinto
f985e1cac5 server_id for MySQL replication set for each node
server_id for MySQL replication is now set for each node and
dprintServer* routines can print it as well
2014-05-28 10:43:01 +02:00
MassimilianoPinto
78a02f5297 Compile warning fixed in galera_mon.c
Compile warning fixed in galera_mon.c
2014-05-28 09:39:33 +02:00
MassimilianoPinto
a45e009dfe Merge branch 'feature-MAX-58' into develop
Merge branch 'feature-MAX-58' into develop
2014-05-28 09:31:29 +02:00
VilhoRaatikka
70115d35c9 Fix to bug #438 http://bugs.skysql.com/show_bug.cgi?id=438
Fixed some compiler warnings, added header includes, return values etc.
2014-05-27 17:07:41 +03:00
Mark Riddoch
97bb1638ad Delete swp file 2014-05-27 12:17:09 +01:00
Mark Riddoch
d12ed592a0 Removed a duplicate code added by merge
A code duplication occurred in a switch statement during the merge of the cenh branch
2014-05-27 09:44:17 +01:00
MassimilianoPinto
a6d6938367 Merge branch 'feature-MAX-98' into develop 2014-05-26 14:17:30 +02:00
MassimilianoPinto
b54ca8e87f Default values for MONITOR_INTERVAL
Default values for MONITOR_INTERVAL
2014-05-26 14:16:56 +02:00