Commit Graph

1081 Commits

Author SHA1 Message Date
6b3c7041e3 Bug #468, http://bugs.skysql.com/show_bug.cgi?id=468, Query classifier accessed freed thread context. If parsing fails thd doesn't need to be freed because it holds correct information about command type.
session.c:session_setup_filters : fixed memory leak
hintparser.c: added token_free for HINT_TOKENs and fixed a few memory leaks.
mysql_client_server_protocol.h: added mysql_protocol_done which frees memory blocks pointed to by protocol members. Those can't be freed in dcb.c because dcb.c doesn't know about protocol's members.
mysql_backend.c:gw_backend_close: fixed memory leak
mysql_client.c: gw_client_close: fixed memory leak
mysql_common.c: added implementation of mysql_protocol_done
	:protocol_archive_srv_command: tried to fix memory leak. Some memory is still leaking according to valgrind. Removed use of uninitialized local variable len.
readwritesplit.c:execute_sescmd_in_backend: fixed a memory leak - visible only in DEBUG=Y build.
2014-08-05 09:31:10 +03:00
ab7f057b63 Branch Z2 update 2014-08-04 17:10:57 +02:00
76d7f3d836 readwritesplit.c: corrected max_replication_lag with max_slave_replication_lag in hint parameter comparison functions. 2014-08-01 18:30:40 +03:00
65b121889b config.h: Added enumerated types MAX_RLAG_AVAILABLE and MAX_RLAG_UNDEFINED to be used instead of magic numbers as max_slave_replication_lag values.
readwritesplit.h: Added TARGET_RLAG_MAX to the list of hint targets. It is used in case of hint max_slave_replication_lag=<value>
readwritesplit.c: get_dcb is called when readwritesplit router chooses target backend for a query. Backend is selected from those the router has connection to. get_dcb now takes additional parameters, name and max_rlag. Name is used if there is a hint route to server <server name>. max_rlag is used for hint max_slave_replication_lag=<value> or if it doesn't exist, then for configure parameter max_slave_replication_lag=<configured value> or if both are absent, ignored.
2014-08-01 16:33:29 +03:00
4f3d746f4e MAX-157. Added support for hints in rwsplit router.
buffer.c: added memory release for hint of a GWBUF
hint.c: added bool hint_exists()
hint.h: added placeholder for hint type HINT_ROUTE_TO_ALL which doesn't have implementation yet.
filter/Makefile: fixed dependency issue
hintparser.c: added const char* token_get_keyword(), hint_parser:added NULL check, hint_next_token: fixed off-by-one bug
readwritesplit.h: added bitfield for hints' use, which includes route targets and flag for case where user hinted to route to named backend server.
readwritesplit.c: added function route_target_t get_route_target() for resolving route target based on 1) query type (from query_classifier) 2) transaction state (active/not) and 3) hints. Modified get_dcb, which is called in routeQuery to provide pointer to correct backend DCB. Now get_dcb also takes server unique name as a parameter if such a hint was found. for hints' use, which includes  enter the commit message for your changes.
2014-07-31 23:40:02 +03:00
ef924cdc00 Added check for session state before calling router->sessionClose 2014-07-30 20:54:43 +03:00
b3656eba07 Added check for session state before calling route->closeSession 2014-07-30 20:43:43 +03:00
744892e47c Support for MySQL Cluster
Support for MySQL Cluster with ndbcluster monitor and readconnroute
with router_option=ndb
2014-07-30 09:41:03 +02:00
8d19d339c5 Z2 update 2014-07-29 16:49:03 +02:00
d83a4673d7 Bug 462, http://bugs.skysql.com/show_bug.cgi?id=462, testall target fails in server/test to invalid MAXSCALE_HOME path specification.
Fixed path specification in server/test/makefile.

Added comments to mysql_backend.c
2014-07-29 12:11:00 +03:00
e91045d311 New monitor added to Makefile
New monitor added to Makefile
2014-07-28 09:53:42 +02:00
cbefda6517 monitor for SQL nodes in MySQL Cluster
New monitor added for SQL nodes in MySQL Cluster
2014-07-28 09:47:06 +02:00
2dea68b9b3 Hint parsing 2014-07-25 16:33:49 +01:00
b335bad380 Added some documentation 2014-07-16 16:11:27 +01:00
87e66a0ea8 Revert "Implementation of HTTPD protocol, gwbuf properties and a dmeo web application"
This reverts commit 6fd5dff34902051f38932947493280e1e62dbeb1.
2014-07-15 17:53:39 +01:00
6fd5dff349 Implementation of HTTPD protocol, gwbuf properties and a dmeo web application
interface to test the new httpd.
2014-07-15 17:39:31 +01:00
5357f6e2f2 Fixes symtoms described in http://bugs.skysql.com/show_bug.cgi?id=454
Added DCB state check to backend error evend handler. If state isn't DCB_STATE_POLLING anymore, socket is closed with purpose or error occurred but it has already been handled.
Client doesn't hang anymore at least with the documented method.
2014-07-04 14:26:55 +03:00
4af2e58c86 Update plugin status to BETA 2014-07-04 09:23:40 +01:00
0036d6d8af Merge branch 'develop' of https://github.com/skysql/MaxScale into develop 2014-07-03 19:27:59 +03:00
39679447c9 Bugzilla #455, MaxScale crashed due missing buffer type information in multi-buffer responses. 2014-07-03 19:20:45 +03:00
a100b46680 Comments updated in get_root_master()
Comments updated in get_root_master()
2014-07-03 17:04:58 +02:00
a68d83ff7f Moved error messages about broken pipe to DEBUG build since in cases we've seen it is due to socket closing in same host. Other case is that MaxScale attempts to write COM_QUIT (ending message) to socket that other thread already closed.
Added counter clean-up code to readwritesplit closeSession. If operation counters have leaked, that is, due to some error in query routing some counter have been left positive, it is zeroed at session ending. This ensures that there is no garbage in global counter even if individual session wouldn't clean up its counters.
2014-07-03 12:12:21 +03:00
0dfdc27ea5 revert -l:libmysqld.a to -lmysqld 2014-07-03 11:38:59 +03:00
6f6a5b67c9 Merge branch 'develop' of https://github.com/skysql/MaxScale into develop 2014-07-03 00:46:01 +03:00
e944ae2e70 http://bugs.skysql.com/show_bug.cgi?id=453
Fixed bug in session command resul handling. In case where backend sent error message the session command cursor wasn't updated properly.

Added check to bref_clear_state, if bref's waiter counter would go negative, decrement to global operation counter is skipped.
2014-07-03 00:43:30 +03:00
e5ce7027ed Merge branch 'static_lib' into develop 2014-07-02 20:54:00 +03:00
c3c18fb044 Fix for missing maxscaled sources in Makefile. Resolves issue with
make clean not removing maxscaled.o
2014-07-02 17:32:47 +01:00
eb3a8eaab3 L:.a 2014-07-02 16:25:55 +03:00
f379ee3d7a add -static for lmysqld 2014-07-02 15:52:16 +03:00
5c2333430d Removed configuration consistency checks, since monitor's configuration can't be easily read when router instance is created.
Fixed braces in slave select condition in select_connect_backend_servers.
2014-07-01 22:18:40 +03:00
d58682d261 Updated Makefile to resolve issue with adding extra MaxScale in the
path for a make install command.
2014-07-01 16:53:10 +01:00
29503ce566 Fixed slave selection condition. 2014-07-01 18:01:36 +03:00
f20b8de253 Added NULL-pointer check to gw_client_hangup_event 2014-07-01 17:42:12 +03:00
ede4f3778f Merge pull request #10 from skysql/MAX-94
Max 94
2014-07-01 17:16:48 +03:00
e586efcaae Comments updated in get_root_master
Comments updated in get_root_master
2014-07-01 16:03:22 +02:00
e68d1f984b Added check for case where backend's replication lag information is currently not available. 2014-07-01 16:59:45 +03:00
8ffca16368 Added consistency check for detect_replication_lag and max_slave_replication_lag and router_options=slave_select_criteria=LEAST_BEHIND_MASTER
Fixed a bug in service_add_qualified_param which didn't handle param list correctly.
2014-07-01 16:54:16 +03:00
248b479bb6 Merge pull request #9 from skysql/MAX-90
Addition of server weighting to the read/write splitter
2014-07-01 16:04:52 +03:00
794438a248 Bug fix in get_root_master
bug fix in get_root_master if there is a server outside of the
replication tree or not monitored
2014-07-01 12:31:42 +02:00
eaaac58b44 Addition of server weighting to the read/write splitter
Tidy up the output of show server and show servers so that columsn align
2014-07-01 11:06:28 +01:00
ff99cd3c63 no rows for slave heartbeat reset server values
no rows for slave heartbeat resets the heartbeat and node_ts in server
struct
2014-07-01 10:36:26 +02:00
3b6b33b7dd Modified refreshInstance to support max_slave_replication_lag. 2014-06-30 22:50:31 +03:00
57a977bdc0 Merge branch 'develop' of https://github.com/skysql/MaxScale into develop 2014-06-30 22:38:15 +03:00
b875936a21 MAX-94, Added configuration parameter, max_slave_replication_lag=<longest allowed replication lag in seconds> to router section.
Parameter can be changed runtime but it requires reloading of config.
2014-06-30 22:35:27 +03:00
439cedc800 Fixed num servers counter
Fixed num servers counter
2014-06-30 19:33:30 +02:00
dd54dde4ef fix for root master NULL pinter
fix for  root master NULL pinter
2014-06-30 19:09:50 +02:00
787483f71c Merge branch 'develop' into MAX-90 2014-06-30 16:20:11 +01:00
6c1960e53b Increase accuracy of percentages for connection distribution. 2014-06-30 16:16:27 +01:00
0b89245a4b Merge branch 'develop' into MAX-167
Conflicts:
	server/modules/monitor/mysql_mon.c
	server/modules/routing/readwritesplit/readwritesplit.c
2014-06-30 14:17:00 +03:00
6d672cb967 Added status bit BREF_QUERY_ACTIVE to indicate if a query, other than session command, sent to backend for execution. The flag is cleared when the first packet belonging to the response arrives.
The flag is part of the active operation counting, which is utilized in load balancing. The active operation count per backend is used by default as criteria when router chooses to which backend a query should be routed.
2014-06-30 13:44:34 +03:00