304 Commits

Author SHA1 Message Date
MassimilianoPinto
b1e933f7ef Replication Lag in server diagnostics
Replication Lag in server diagnostics
2014-05-28 18:36:52 +02:00
MassimilianoPinto
5899fe0000 new parameters added for monitors
new parameters added for monitors
2014-05-28 18:11:07 +02:00
MassimilianoPinto
fe0fcd75e4 new monitor routines
new monitor routines
2014-05-28 15:44:51 +02:00
MassimilianoPinto
d0a30748ab Branch update
Branch update
2014-05-28 14:52:04 +02:00
MassimilianoPinto
ca4b53f1b8 Merge branch 'develop' into feature-MX-60 2014-05-28 14:48:27 +02:00
MassimilianoPinto
77b790efbf Replication lag support in server struct
Replication lag support in server struct and configuration
2014-05-28 14:47:35 +02:00
Mark Riddoch
3514156f28 Merge branch 'develop' of github.com:skysql/MaxScale into develop 2014-05-28 11:20:45 +01:00
Mark Riddoch
509379df70 Fix for NULL buffer past to gwbuf_length 2014-05-28 11:00:50 +01: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
a1a3dcdfbb Merge branch 'develop' into feature-MX-60 2014-05-28 10:44:37 +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
f80f8ce26d monitorID and monitor_interval
monitorID and monitor_interval
2014-05-28 10:06:49 +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
MassimilianoPinto
933025b017 Update
Update
2014-05-26 16:49:10 +02:00
MassimilianoPinto
375121aec7 Merge from feature-MAX-98
Merge from feature-MAX-98
2014-05-26 12:50:29 +02:00
MassimilianoPinto
378d00983d merge from branch 'cenh'
merge from branch ‘cenh’
2014-05-26 12:15:34 +02:00
MassimilianoPinto
3c66c9c764 update
update
2014-05-26 11:39:10 +02:00
MassimilianoPinto
38401bbd2c update
update
2014-05-26 11:36:46 +02:00
MassimilianoPinto
da68306c6e updated
updated
2014-05-26 11:30:58 +02:00
MassimilianoPinto
9e0e6e3c69 updated
updated
2014-05-26 11:27:00 +02:00
MassimilianoPinto
349c0ab1ca dcb_readqlock removed
dcb_readqlock removed
2014-05-26 11:25:00 +02:00
MassimilianoPinto
bf00ca8aba GaleraHA support - R/W Splitting with Galera
GaleraHA support - R/W Splitting with Galera
2014-05-26 10:29:34 +02:00
MassimilianoPinto
cde204db47 MariaDB 10 Replication support
MariaDB 10 Replication support
2014-05-26 10:09:01 +02:00
VilhoRaatikka
eb8c6cc297 Added SESSION_STATE_ROUTER_READY to server/core/session.c:session_state so that state will be printed correctly as well instead of "Invalid state". 2014-05-23 22:10:21 +03:00
Mark Riddoch
45d5d521b8 Merge branch 'blr' into cenh
Conflicts:
	Documentation/MaxScale Configuration And Usage Scenarios.pdf
	server/core/config.c
	server/core/dcb.c
	server/core/service.c
	server/modules/routing/Makefile
	server/modules/routing/debugcmd.c
	server/modules/routing/readwritesplit/readwritesplit.c
	server/modules/routing/readwritesplit/test/rwsplit.sh
2014-05-23 16:39:39 +01:00
Mark Riddoch
7fe50a311f Addition of developer and user modes to debugcli
In order to be able to protect the interface so that mistyped argument
do not endanger MaxScale yet still allow the developer access a router
option has been added that gives the debugcli two modes.
2014-05-23 13:29:58 +01:00
Mark Riddoch
23a9759fca Fixed a couple of memory leaks 2014-05-23 09:08:02 +01:00
VilhoRaatikka
4f1233ecc7 Added SESSION_STATE_ROUTER_READY to server/core/session.c:session_state so that state will be printed correctly as well instead of "Invalid state". 2014-05-22 22:27:08 +03:00
Mark Riddoch
c1d39999ff Improvements to debug interface & blr updates 2014-05-21 17:25:21 +01:00
VilhoRaatikka
c28052d5a4 Manual merge from master to develop. Incliding fix for bug #425 http://bugs.skysql.com/show_bug.cgi?id=425 2014-05-21 15:41:39 +03:00
Mark Riddoch
9777e83a5a Merge branch 'master' into blr 2014-05-19 13:46:47 +01:00
Mark Riddoch
854d7d7c68 Updated debug command plugin. 2014-05-19 12:31:56 +01:00
VilhoRaatikka
5c39682e40 Added message printing telling what file provided the module which was loaded. 2014-05-17 23:10:03 +02:00
Mark Riddoch
29d247319d Fixed issue with bin log event straddling buffers 2014-05-17 07:25:03 +01:00
VilhoRaatikka
bb364f531b Bug #425, http://bugs.skysql.com/show_bug.cgi?id=425
mysqlk_client.c now assumes that mysql packets may arrive in separate pieces.
gw_read_client_event reads client data, and if packet is incomplete it is added to new dcb->dcb_readqueue. When next packet is combined with data in readqueue.

mysql_common.c:gw_MySQL_get_next_packet can now return mysql packet from read buffer although it would span multiple gwbuf buffers.
2014-05-16 17:01:10 +02:00
Mark Riddoch
1d08b0100f Initial binlog prototype
Supports pulling binlogs from the master, caching to a local file and relaying to a slave.

Only tested with a single slave and a single MaxScale thread.
2014-05-13 16:06:05 +01:00
VilhoRaatikka
25cb08cc29 Return value of service_alloc wasn't read and caused MaxScale to fail if module load failed. 2014-05-12 16:59:19 +03:00
VilhoRaatikka
b7ae1c1784 Added router_option slave_selection_criteria=[LEAST_GLOBAL_CONNECTIONS(default)|LEAST_BEHIND_MASTER] to readwritesplit section.
The option is reloadable in the same way as max_slave_connections parameter. Option value determines which sort function is called before to sort backend server pointers before selecting them and establishing connections to backends.
2014-05-11 23:59:16 +03:00
MassimilianoPinto
e228baf256 version_string is a new service parameter
version_string is a new service parameter.

Documentation updated and current release is now 0.6.0
2014-05-09 20:13:45 +02:00
VilhoRaatikka
8be4aba223 Added new state to SESSION: SESSION_STATE_STOPPING, which is set in protocol module before calling closeSession (router). THe new state tells that session is closing and DCBs included may not be polling anymore.
Fixed some crash scenarios.
2014-05-08 23:17:35 +03:00
MassimilianoPinto
4913c270d3 Merge branch 'fix-423' into release-0.6 2014-05-08 16:26:51 +02:00
VilhoRaatikka
9af5d9fb06 Commit fix to bug #418 http://bugs.skysql.com/show_bug.cgi?id=418 2014-05-08 13:13:42 +03:00
MassimilianoPinto
29932f7fc8 MySQL handshake has a configurable version_string
MySQL handshake has no a configurable version_string parameter in
service section.
The default value is the server version of the embedded mysqld library.

Set option example:

version_string=5.5.37-MariaDB-log

Default is similar to:

5.5.35-MariaDB
2014-05-07 18:08:28 +02:00
VilhoRaatikka
a1361d9c9e Related to MAX-95, added code which makes it possible to change max_slave_connections parameter value during run time of MaxScale. The change will be effective in rwsplit sessions created after the configuration modification and reload. Note that in order to config modification to be effective, the user must connect the debug interface of MaxScale (telnet) and execute 'reload config'.
In practice, 'reload config' reads config file and updates config parameters of rwsplit router service. In addition to that there is a version number indicating what generation of configuration service holds. When router instance is created (when MaxScale is started) service's config version is copied to router intance. Whenever new client connection (rwsplit session) is started, router instance's config version is checked against that of service's. If versions differ, service's config data is copied to router instance. New session will be started with router instance's config values.
2014-05-02 16:35:40 +03:00
VilhoRaatikka
b5e9428ff7 log_manager.cc fixed memory leak, block buffer mutex names weren't freed.
query_classifier.cc use of uninitialized value in skygw_stmt_causes_implicit_commit
config.c crashed if module load failed, use of unitialized value
load_utils.c pretty-printed error
service.c use of uninitialized value in service_add_qualified_param
modules.h function prototype
readwritesplit.c memory leaks
2014-04-29 14:50:09 +03:00
VilhoRaatikka
c927057b5c Fixed two bugs of which one was older.
1. in query_classifier.cc autocommit_enabled, and transaction_active variables maintained their values across different sessions. Now those values are stored in each router_client_ses object.
2. As a part of implementation of MAX-95 session variables were added to BACKEND struct which is shared with all sessions using the SERVICE which the particular BACKEND serves. Now each router_client_ses object has a backend reference struct which includes pointer to BACKEND, DCB and to session command cursor.

Added test - set_autocommit_disabled.sql, test_after_autocommit_disabled.sql - to check that session variable is discarded when session where it belongs terminates.
2014-04-28 23:33:49 +03:00
VilhoRaatikka
28bc3509cc Added new parameter RW Split Router.max_slave_connections=[<int>|<int>%] which specifies the maximum number of slaves which read/write split router connects in each routing session.
Parameter it read from config file to CONFIG_CONTEXT's parameter list. It is qualified in service.c:service_set_slave_conn_limit and if qualified, the qualified integer value and the value type are copied to the CONFIG_PARAMETER structure.

This CONFIG_PARAMETER struct is cloned (=copied to different memory area) and linked to RW Split SERVICE struct.

When RW Split router_instance is created in readwritesplit.c:createInstance, the value is copied to (new) rwsplit_config_t structure from SERVICE's parameter list.

When new routing session is created in readwritesplit.c:newSession, the rwsplit_config_t structure is copied to ROUTER_CLIENT_SES struct and the actual max_nslaves value is calculated from the config value (if percentage is used).

Tests and many error handling branches are missing but functionality seems to be working.
2014-04-24 22:05:26 +03:00
VilhoRaatikka
2fcc371606 Added back --skip-innodb to a call argument for libmysqld 2014-04-15 19:22:46 +03:00
MassimilianoPinto
e01cbd74ed Bug 409: dcb_final_free now frees dcb->delayq 2014-04-14 10:08:34 +02:00