Commit Graph

1577 Commits

Author SHA1 Message Date
55447919ce Fix to Coverity issue 84943 2014-12-19 11:35:17 +02:00
ac97fcd764 Removed redundancy from error and message logs.
server.c: Added new member to SERVER->master_err_is_logged. It is used if server loses master status. It causes error log print in readwritesplit router's eror handling. Initial value is false and it is set always to false when server's status is set to master.
Added message log printing to mysql monitor, if master status changes to something else. It is not warning or error but only information which probably interests the user.

readwritesplit.c:Muted warnings and error printings in cases if slaves are not found if it is allowed to have a master only.
readwritesplit.c:Corrected error log printing in case where master lost its status. REdundant prints are removed.
2014-12-18 19:12:01 +02:00
494ac968e2 Fix candidate to bug #642, http://bugs.skysql.com/show_bug.cgi?id=652
If user only has a privileges to certain table, login with db still succeeds.

Removed invalid debug assertion from readwritesplit.c
2014-12-17 23:51:04 +02:00
a7d1a865de Updates to how shards are discovered while the module is running
SHOW DATABASES now takes notice of the state of the backends
Added scripts for sharding test preparation and local port blocking
2014-12-17 16:22:52 +02:00
e6fca9b50d Added a simple test for dbshard router.
The test sets a session variable and queries a union of this variable and a value in each of the databases.
2014-12-17 14:06:34 +02:00
a655e394ac Merge branch 'blr' into release-1.0GA
Conflicts:
	server/core/service.c
2014-12-16 15:44:19 +00:00
203e83d508 Update to COM_STATISTICS to show master connection state 2014-12-16 15:35:39 +00:00
6013009c13 Merge branch 'MAX-324' of https://github.com/mariadb-corporation/MaxScale into MAX-324 2014-12-16 14:34:06 +02:00
e4042019e1 Fixed client session termination due to wrong packet sequence numbers. 2014-12-16 14:33:05 +02:00
f861d67b7f Removed all references to use_sql_variables_in variable where it is used in dbshard.
Commented out dead code.
Fixed some indentations.
2014-12-16 14:14:57 +02:00
909518fac7 Improved error messages
Support for running out of disk space in the binlog router

Support for COM_PING & COM_STATISTICS added in the binlog router

Addition of binlogdir router option
2014-12-16 10:38:09 +00:00
ef94b7ee54 dbshard.c:get_shard_route_target global system variables weren't routed to all servers because an invalid variable was used determine whether statement should be routed to all or to master only. 2014-12-15 23:31:07 +02:00
7271586701 Merge branch 'MAX-324' of https://github.com/mariadb-corporation/MaxScale into MAX-324
Conflicts:
	server/modules/routing/dbshard/dbshard.c
2014-12-15 15:24:56 +02:00
3dd1f70109 Added a function that generates a custom result set for SHOW DATABASES.
Fixed SHOW TABLES not using the current database.
2014-12-15 15:06:06 +02:00
6f6df39e62 Merge branch 'release-1.0GA' of https://github.com/mariadb-corporation/MaxScale into release-1.0GA 2014-12-15 11:41:12 +02:00
4dd6f1b9c0 Added comment to assertion regarding to bref->bref_pending_cmd which is a one-slot buffer for database query. If sessoin command cursor is active when query is routed, instead of routing the query to backend it is stored to bref_pending_cmd to wait until previous (session) command is completed. The assertion traps if there is a command already in the bref_pending_cmd.
Situation is wrong because client shouldn't send new query before the previous (the pending one) is executed in backend and the reply is sent to the client.
2014-12-15 11:35:07 +02:00
04a92e40df Fixes to Coverity defects 84879 84878 72752 72742 2014-12-15 06:28:47 +02:00
a4968f2521 Complete fix candidate for #645, http://bugs.skysql.com/show_bug.cgi?id=645 and #648, http://bugs.skysql.com/show_bug.cgi?id=648
tee.c:closeSession removed unnecessary dcb_free, router/service closes all backend DCBs and the client DCB, and client DCB is the one that was tried to free in closeSession.
readwritesplit.c:routeQuery now handles untyped and typed GWBUFs. Untyped means that read buffer may consist of incomplete and multiple MySQL packets. Typed buffer always consists of a single MySQL packet (which can be split to many buffers inside GWBUF).
Fixed Coverity cases #84840 and #84841
2014-12-14 11:26:15 +02:00
a91845b324 Re-enabled the ignore list, it uses the parameter 'ignore databases=<list of db names>'.
Added routing of trivial queries and ignored databases to the first available backend.
2014-12-13 07:47:46 +02:00
c31f971999 Fix candidate for #645, http://bugs.skysql.com/show_bug.cgi?id=645 and #648, http://bugs.skysql.com/show_bug.cgi?id=648
If readwritesplit.c:routeQuery gets a GWBUF whose type is UNDEFINED, then each MySQL packet is extracted from input buffer and passed to new function, route_single_stmt. Each extracted packet is stored in separate GWBUF and added types GWBUF_TYPE_MYSQL and GWBUG_TYPE_SINGLE_STMT which makes it possible to execute session commands and process reply packets properly.

Code nedes still cleaning but this is for testing atm.
2014-12-13 01:55:40 +02:00
600d29a6d1 Merge branch 'MAX-324' of https://github.com/mariadb-corporation/MaxScale into MAX-324
Conflicts:
	server/modules/routing/dbshard/dbshard.c
2014-12-12 21:08:21 +02:00
52db8ce15e Removed useless comments 2014-12-12 21:06:59 +02:00
175756c478 Fixed some missing return values and added database change routing to right shard. 2014-12-12 16:25:19 +02:00
a7cc40dc6a Added error message generation for non-existent databases and backend status checks. 2014-12-11 11:45:40 +02:00
df1ff25be4 Changes for file system full detection 2014-12-10 09:07:14 +00:00
78d09c35cb Added functions for shard runtime updating. 2014-12-09 14:12:12 +02:00
0fb1918887 Improved error handlign for binlog directory and files 2014-12-09 09:55:05 +00:00
cf40cbfbf0 Aadded some of the code from routeQuery to its own function, change_current_db, which extracts db name, tests if the name can be found among cached database names (hashtable) and if it does, change the db. Otherwise create an error message and add it to poll eventqueue like it was sent from some of the backends. 2014-12-08 23:37:21 +02:00
bc104c0ef1 Merge branch 'release-1.0GA' into MAX-324 2014-12-08 22:37:15 +02:00
2ff3939ba2 Active databases are only updated if they are found in the router's hashtable. 2014-12-08 16:35:47 +02:00
6a54d888de Merge branch 'release-1.0GA' of https://github.com/mariadb-corporation/MaxScale into release-1.0GA 2014-12-08 16:04:27 +02:00
5264a1abc9 Added function documentation, moved one non-error log entry to message log, cleaned up a bit. 2014-12-08 16:02:16 +02:00
8fed527ac9 Merge branch 'release-1.0GA' into blr 2014-12-08 09:21:38 +00:00
ce056dccd8 Update modue status of all GA modules 2014-12-08 09:19:35 +00:00
e76215bf07 Added detection of COM_INIT_DB 2014-12-08 11:15:10 +02:00
4c1ed65617 Added dbshard template to MaxScale_template.cnf
Added NULL-check to createInstance to avoid NULL-pointer reference if user/pwd is missing from config.
Removed unnecessary code, added error messages, fixed intendation.
2014-12-07 23:34:47 +02:00
0348df5147 Fixed databases being queried without a username or password and ignored the default databases when checking for shards. 2014-12-07 13:16:53 +02:00
15a96f037d Merge remote-tracking branch 'origin/MAX-324' into MAX-324
Conflicts:
	server/modules/routing/dbshard/dbshard.c
2014-12-07 06:11:24 +02:00
68fc849c6e query_classifier.cc:cleaned up some intendentions and brackets.
dbshard.h:removed unnecessary code
dbshard.c:removed unnecessary code, cleaned up a bit and made some required changes
readwritesplit.c:removed two unnecessary variable assignments.
2014-12-07 00:34:23 +02:00
a580799eb2 Added messages about missing usernames and passwords for servers. 2014-12-07 00:07:58 +02:00
94b6fc8ff1 Merge branch 'MAX-324' of https://github.com/mariadb-corporation/MaxScale into MAX-324 2014-12-06 12:48:37 +02:00
06578c95a5 Updates to dbshard router:
Added a parsing function to query classifier that returns an array of database names the query uses.
Added a check if the query targets a sharded database. If so, a hint is added that routes the query to the named server.
2014-12-06 11:30:07 +02:00
cce35d9035 Add event name in show service 2014-12-05 13:49:41 +00:00
a0cebae0ec Make building the binlog router conditional 2014-12-05 11:43:06 +00:00
e102d56e69 Merge branch 'blr' into release-1.0GA
Conflicts:
	server/modules/protocol/mysql_backend.c
	server/modules/routing/binlog/blr_master.c
2014-12-05 11:42:02 +00:00
2b998eb17f Merging binlog router into beta refresh 2014-12-05 11:30:03 +00:00
4db86a5520 Merge branch 'release-1.0GA' of https://github.com/mariadb-corporation/MaxScale into release-1.0GA 2014-12-04 16:57:57 +00:00
36aea7454f Updates for new logging definitions 2014-12-04 16:56:33 +00:00
e4c379bbdc Fix to bug 583 http://bugs.mariadb.com/show_bug.cgi?id=583
Changed rwsplit.sh to explicitly use /bin/bash
2014-12-03 19:41:06 +02:00
b106560317 Fix to bug # 634, http://bugs.skysql.com/show_bug.cgi?id=634
COM_SHOW_SLAVE_STAT wasn't classified but it was treated as 'unknown' and thus routed to master.
2014-12-03 13:27:31 +02:00