1060 Commits

Author SHA1 Message Date
VilhoRaatikka
9eda859724 Added callback for rwsplit router which traverses through every rwsplit router session and for each rses, all backend references. Each bref is checked whether it is connected to non responsive server and if it is flagged to be waiting for response from the non-responsive backend. For matching ones, backend protocol's hangup function is called. 2014-06-13 08:01:26 +03:00
VilhoRaatikka
15ff1fd26a Fixed many error handling issues regading to timing and multiple threads.
Added flags to those backend references which have sent something to backend which causes the backend to send results or reply back. Didn't add removal of the flag since there's currently no way to tell whether response from backend contains anything else than session command reply - which aren't counted when BREF_WAITING_RESULT is set and cleared.
2014-06-12 23:22:51 +03:00
VilhoRaatikka
e95b6cc0d9 dcb.c, gw_utils.c, mysql_server_protocol.h, mysql_client.c : Replaced gw_read_gwbuff with dcb_read in mysql_client.c:gw_read_client_event.
rwsplit.sh, test_sescmd.sql : Added test case for session commands.
2014-06-12 19:02:47 +03:00
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
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
7c8803f2f2 Updated with new debug CLI guide 2014-06-06 10:55:47 +01:00
Mark Riddoch
e9bd3676c1 Merge branch 'develop' of github.com:skysql/MaxScale into develop 2014-06-06 10:51:14 +01:00
Mark Riddoch
0ae1b3b15c Updated configuration guide 2014-06-06 10:50:40 +01:00
Mark Riddoch
03b9f11e1e Delete MaxScale 0.6 Release Notes.pdf 2014-06-06 09:02:30 +01:00
Mark Riddoch
827c08a751 Delete Max Scale 0.6 Release Notes.pdf 2014-06-06 09:02:20 +01:00
Mark Riddoch
c7b3c0925d Merge branch 'develop' of github.com:skysql/MaxScale into develop 2014-06-06 09:01:06 +01:00
Mark Riddoch
4f560889f8 Addition of 0.7 release note 2014-06-06 09:00:50 +01:00
VilhoRaatikka
047dd5f90e process_config_update didn't handle filter type which caused erroneous message being printed to error log. 2014-06-05 21:09:23 +03:00
VilhoRaatikka
1a43a4868f Added check for NULL pointer in serviceClearRouterOptions. 2014-06-05 20:17:39 +03:00
Mark Riddoch
515f6de742 Incremented version number 2014-06-05 17:10:10 +01: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
c1c188cf4f Fix for unintialised structure member 2014-06-05 16:24:05 +01:00
Mark Riddoch
be87556ab0 Fix for compiler warnings 2014-06-05 15:26:57 +01:00
Mark Riddoch
959b9aeec8 Merge branch 'develop' of github.com:skysql/MaxScale into develop 2014-06-05 15:09:16 +01:00
Mark Riddoch
01af5d1aef Fix for config file ordering 2014-06-05 15:08:49 +01:00
Mark Riddoch
9904e71efe Fixed issue with filter object poitner not being initialised.
Addition of "not loaded" message in show filters
2014-06-05 08:55:19 +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
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
MassimilianoPinto
4dbd51b1fc fixed macro name
fixed macro name
2014-06-04 13:15:01 +02:00
MassimilianoPinto
099a38a795 monitor_interval added
monitor_interval added
2014-06-04 11:57:33 +02:00
Mark Riddoch
1575afb05f Merge pull request #5 from skysql/MAX-122
Max 122
2014-06-04 09:19:44 +01: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
b7f6e600cc Fix compilation error 2014-06-03 15:35:09 +01: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
e274bba23d Addition of checks to confirm modules report the expected API implementation 2014-06-02 17:38:15 +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
21221a513f Correction to list filters command output 2014-06-02 14:36:51 +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
f026cd9e77 Merge branch 'develop' of github.com:skysql/MaxScale into develop 2014-05-30 18:15:21 +01:00
Mark Riddoch
589ed75d32 Addition of alternative truth values in the config file, on, off, true
or false can now be used as well as 0 and 1 when defining the
enable_root_user parameter.
2014-05-30 18:14:21 +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
VilhoRaatikka
9522d06f9b Tried explicitly access NULL pointer. 2014-05-30 11:32:37 +03:00
VilhoRaatikka
a522cb4651 Merge branch 'develop' of https://github.com/skysql/MaxScale into develop 2014-05-30 10:11:00 +03: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
238595d898 Merge branch 'feature-MAX-60' into develop 2014-05-29 12:14:52 +02:00
MassimilianoPinto
d19aedeb2c Merge branch 'develop' into feature-MAX-60 2014-05-29 12:12:05 +02:00
MassimilianoPinto
624c720c7d Merge branch 'develop' into feature-MAX-98 2014-05-29 12:11:15 +02:00