Commit Graph

56 Commits

Author SHA1 Message Date
d91b6d375d Added more documentation about functions and trace log output about users logging in with a default database. 2015-02-12 08:44:39 +02:00
a0a7dcdcfe Fixed shardrouter possibly missing responses from the subservices if the session wasn't ready. 2015-02-10 20:36:53 +02:00
54eb3dd904 Fixed client hangups if the first response to a SHOW DATABASES query was sent too fast. 2015-02-10 16:07:50 +02:00
36363b09a1 Added more debug logging and fixed the service resources being overwritted even though they were already allocated. 2015-02-10 14:28:49 +02:00
d9139bb436 Added more tests for the dbshard router. 2015-02-10 10:49:54 +02:00
d455ec4c53 Added support for default databases. 2015-02-09 16:28:48 +02:00
7cf65adc6e Added more trace log output about database changing and possible errors. 2015-02-07 00:04:13 +02:00
4c16eb55a2 Fixed hashing function returning wrong values and added more logging. 2015-02-06 16:27:24 +02:00
8a7b22d3df Fix to SHOW TABLES FROM <db> being routed to the current database instead of the one in the query. 2015-02-05 10:34:04 +02:00
9c3cecf5b1 Fixed repeated reconnects to the server when multiple monitors were used simultaneously and some had failing backend servers.
Also added more documentation about dshard router's limitations.
2015-02-04 17:04:07 +02:00
0b5bedd2b8 The database name the client is connecting with is now checked that it exists in the hashtable before setting the session into a valid state. 2015-02-03 18:17:37 +02:00
9681b9cec4 Added error handling and re-mapping of databases to dbshard router in addition to hint detection. 2015-02-02 21:37:04 +02:00
c9c55ecfa3 Cleaned up unused code. 2015-02-01 21:53:05 +02:00
b6cd0916a0 Fixed a deadlock when the same thread tried to route a reply and a query at the same time. 2015-02-01 21:39:35 +02:00
d9ab0261b9 Fixed SHOW TABLES FROM ... queries being routed to the active database instead of the one defined in the query. 2015-01-31 12:38:39 +02:00
a69e1d5f01 Added some error handling to shardrouter.
The shardrouter now handles situations where the subservice sessions have failed and returns an error if an attempt to
query such a service is made.
2015-01-30 22:28:01 +02:00
08dd4d7053 First working implementation of the hierarchical router. 2015-01-25 21:24:22 +02:00
8791cc455e Added the initial implementation of the shardrouter module. 2015-01-23 06:40:30 +02:00
f2ceaf166f Commented out old code and fixed a memory leak. 2015-01-16 07:41:10 +02:00
f54d4a76aa Final implementation of client session based sharding. 2015-01-15 20:24:01 +02:00
c1ed24aa78 Initial implementation of session based sharding. 2015-01-14 10:47:04 +02:00
aa60e02697 Fix to session variables not being written to all backends when USE DATABASE is used. 2015-01-08 14:08:49 +02:00
6e17bf5ec1 Updated dbshard with the new server reference changes. 2015-01-06 05:01:37 +02:00
ce53159e7d Moved dbshard tests to a separate cmake file 2014-12-19 17:23:26 +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
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
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
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
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
78d09c35cb Added functions for shard runtime updating. 2014-12-09 14:12:12 +02: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
2ff3939ba2 Active databases are only updated if they are found in the router's hashtable. 2014-12-08 16:35:47 +02: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
7079cb4749 Cleaned a bit 2014-12-03 10:35:34 +02:00
ed8404d9c7 Fixed some of compiler errors 2014-12-02 11:05:14 +02:00