294 Commits

Author SHA1 Message Date
VilhoRaatikka
48c25155f5 Completion to fix for http://bugs.skysql.com/show_bug.cgi?id=547
server.h:added macro SERVER_IS_ROOT_MASTER for finding valid candidate for root master
readwritesplit.c: wrote open three if conditions in get_root_master_bref for clarity
2014-09-16 14:49:04 +03:00
VilhoRaatikka
7300e58787 Fix to #547, http://bugs.skysql.com/show_bug.cgi?id=547
readwritesplit.c:get_dcb now searches for master if slave is not available
2014-09-16 12:11:08 +03:00
VilhoRaatikka
3dc44ff6fd Fix to bug #544, http://bugs.skysql.com/show_bug.cgi?id=544
Changes to readwritesplit router.
2014-09-15 21:03:11 +03:00
VilhoRaatikka
213a2dba9e Merge branch 'release-1.0beta-refresh' of https://github.com/skysql/MaxScale into release-1.0beta-refresh 2014-09-15 19:11:39 +03:00
VilhoRaatikka
a41a8d6060 Fix to bug #543, http://bugs.skysql.com/show_bug.cgi?id=543
All counters are now updated in routeQuery
Fix to bug #545, http://bugs.skysql.com/show_bug.cgi?id=545
All sql variable and session modification statements, such as autocommit-, and set <db> commands are routed to all nodes.
2014-09-15 19:01:04 +03:00
Mark Riddoch
d5e2410fe6 Fix for zero wieght in readconnrouter 2014-09-15 14:53:08 +01:00
Mark Riddoch
c8fc5b712b Merge branch 'hholzgra-hartmut-gitignore' into release-1.0beta-refresh 2014-09-15 13:22:46 +01:00
VilhoRaatikka
2012dfdd35 Fix to bug #541, http://bugs.skysql.com/show_bug.cgi?id=541
Long ~0.5MB queries blocked MaxScale.
mysql_client.c:gw_read_client_event: Fixed packet reading logic. Reading didn't work when packet exceeded read buffer size.
mysql_common.c:gw_MySQL_get_next_packet: number of bytes to be copied to continuous buffer was calculated wrong, thus resulting in broken packet.
readwritesplit.c:disabled creation of canonical query in debug build because it slows down the processing too much with long queries
2014-09-13 21:16:44 +03:00
MassimilianoPinto
0a468a910b Makefile modifications
Makefile modifications
2014-09-11 13:10:02 +02:00
MassimilianoPinto
8b5b4a17fe Merge from Z3
Merge from Z3
2014-09-11 12:51:16 +02:00
MassimilianoPinto
7245d1baa1 blr branch merge
blr branch merge
2014-09-11 12:20:42 +02:00
Mark Riddoch
27e0ccd641 Fix for bug 447 - Error log flooded with same warnings if there are no slaves present 2014-09-11 11:03:53 +01:00
VilhoRaatikka
1154b25bff Fixed typo which made use_sql_variables_in paramter ineffective. 2014-09-10 21:20:12 +03:00
Mark Riddoch
f9aece5113 Remove queuing that is no longer required
Fixed bug in mysql_backend.c that lost up to 4 bytes of data in rare
circumstances.
2014-09-10 15:51:53 +01:00
VilhoRaatikka
025f920ddb Replaced RWSplit parameters write_ses_variables_to_all and read_ses_variables_from_slaves with
use_sql_variables_in=[master|all] (default all)
Modified MaxScale Configuration And Usage Scenarios-Z3.pdf and MaxScale_template.cnf accordingly.
Fixed typo in server/modules/routing/readwritesplit/test/rwsplit.sh
2014-09-10 11:32:53 +03:00
VilhoRaatikka
4665f862d5 Fixed handling of temporary table reads which also used user- or system variables. Temporary table handling rules have precedence over others. 2014-09-09 14:34:08 +03:00
VilhoRaatikka
52b347ac07 readwritesplit.c:Fixed macro which excludes a block from compiled code. 2014-09-08 21:53:33 +03:00
VilhoRaatikka
f74493d922 server/modules/filter/Makefile: Fixed problem which prevented cleaning and compiling hintfilter library.
server/core/config.c: Removed unused if..else block from config_get_valint. Changed it also to return value which indicates whether the operation succeed. Added config_get_valbool similar to config_get_valint.
service.c:Added typelib-like struct and array of valid boolean values. Fixed parameter type test in service_set_param_value. Completed boolean type parameter handling.
hintparser.c:Fixed error message for non-maxscale hints.
readwritesplit.c:Added loading of configuration parameters from service to instance and from instance to each new session. Fixed routing condition in get_route_target. Modified get_route_target so that it takes also rw_read_sesvars_from_slaves and rw_write_sesvars_to_all as parameters.
skygw_types.h: added array size counting macro.
2014-09-08 21:44:23 +03:00
VilhoRaatikka
92889ad216 config.c: Added configuration parameter processing for read_ses_variables_from_slaves and for write_ses_variables_to_all . The values are read from config file, qualified and stored to service. Values are loaded when instance is created. This is limitation in current implementation and will change so that configuration is dynamically changeable. 2014-09-07 23:48:16 +03:00
VilhoRaatikka
d799331c50 Added support for fine-grained query classification which is needed for configurable support for user- and system variable execution. This is partial implementation to task MAX-242. Tests passed with make -C server/modules/routing/readwritesplit/test but this is intermediate commit. 2014-09-05 22:50:35 +03:00
Mark Riddoch
c273988e51 Fixed for EPOLLHUP events
Possible double free in maxscaled on close

binlog router debugging/tracing
2014-09-05 17:29:17 +01:00
Markus Makela
c00e51fd00 Merge branch 'Z3' into Z3_rabbit_partial
Conflicts:
	server/modules/routing/readwritesplit/readwritesplit.c
2014-09-04 13:52:12 +03:00
Markus Makela
4e11ea9b06 Merged some of the rabbitmq branch changes
query_classifier.cc: updated skygw_get_table_names to allow for partial or full table names
readwritesplit.c: transferred temporary table detection to separate functions
2014-09-04 13:31:20 +03:00
VilhoRaatikka
0630b2ff46 Merge branch 'Z3' of https://github.com/skysql/MaxScale into Z3
poll.c:poll_add_dcb: Addded EPOLLHUP back to flag set.
2014-09-04 12:29:06 +03:00
VilhoRaatikka
7fcf950f8f Merge branch 'Z3' of https://github.com/skysql/MaxScale into Z3
Conflicts:
	server/modules/routing/readwritesplit/readwritesplit.c
2014-09-03 22:54:32 +03:00
VilhoRaatikka
cda39a62fb Fixes to
Includes imprvements to hints processing. If hint can't be followed query is routed possibly to slave, and eventually to master if other attempts fail.
2014-09-03 22:09:50 +03:00
VilhoRaatikka
5e5c59d322 Merge branch 'MAX-237' into Z3 2014-09-03 17:50:56 +03:00
Markus Makela
52f3adbf20 fixed temporary tables looking for database drops instead of table drops 2014-09-01 19:50:25 +03:00
Markus Makela
a17e584adb Merge remote-tracking branch 'origin/Z3' into MAX-237
Conflicts:
	query_classifier/query_classifier.cc
	query_classifier/query_classifier.h
	server/modules/routing/readwritesplit/readwritesplit.c
2014-09-01 11:05:10 +03:00
Markus Makela
067ce3c886 removed unneeded QUERY_TYPE_DROP_TABLE type from query_classifier.h 2014-09-01 10:35:48 +03:00
Markus Makela
bc939501e9 minor bugfix to memory allocations 2014-09-01 10:11:04 +03:00
VilhoRaatikka
40f85f9cad Fix to bug http://bugs.skysql.com/show_bug.cgi?id=488. SHOW VARIABLES was treated as if it was session write command. Instead it is a read-only query. Changed to route that to master. 2014-08-31 22:56:30 +03:00
Markus Makela
58e8c05c8a added detection of drop table targeting a temporary table 2014-08-31 20:19:47 +03:00
Markus Makela
ecc89a823b added tests for temporary tables 2014-08-31 19:30:00 +03:00
Markus Makela
45faa38877 added temporary table detection for reads 2014-08-31 07:39:26 +03:00
Markus Makela
7629c455a6 partial implementation 2014-08-30 08:27:05 +03:00
VilhoRaatikka
40416d424e Merge branch 'Z3' of https://github.com/skysql/MaxScale into Z3
Conflicts:
	gcov.diff
	server/core/buffer.c
	server/include/buffer.h
	server/modules/routing/readwritesplit/readwritesplit.c
2014-08-29 18:50:32 +03:00
VilhoRaatikka
4a30626974 Merge branch 'Z2' of https://github.com/skysql/MaxScale into Z2
Conflicts:
	client/Makefile
	server/core/buffer.c
	server/core/test/makefile
	server/include/buffer.h
	server/modules/filter/Makefile
	server/modules/routing/webserver.c
2014-08-29 16:21:08 +03:00
Mark Riddoch
531dfd017c Addition of thread data to commands 2014-08-29 11:24:58 +01:00
Markus Makela
7ea53f0141 Merge remote-tracking branch 'origin/MAX-160' into MAX-237
Conflicts:
	query_classifier/query_classifier.cc
	query_classifier/query_classifier.h
2014-08-29 11:02:03 +03:00
VilhoRaatikka
531d8d7b47 query_classifier.cc: added detection for CREATE TEMPORARY TABLE and setting a new query type QUERY_TYPE_CREATE_TMP_TABLE for it.
query_classifier.h: added QUERY_TYPE_CREATE_TMP_TABLE and QUERY_TYPE_READ_TMP_TABLE for use of temporary table support.
hashtable.c:Added variant of hashtable which is 'flat', that is, stored to existing memory instead of allocating memory as a part of the call. Existing function declarations don't change but added hashtable_alloc_flat for the purpose. Both hashtable_alloc and hashtable_alloc_flat now call the real allocation function, hashtable_alloc_real. hashtable_free only frees memory which is allocated in hashtable_alloc_real.
hashtable.h: added a flag to HASHTABLE struct to indicate whether hashtable owns its memory or not.
readwritesplit.h: Added RSES_PROP_TYPE_TMPTABLES property type to be used for keeping the hashtable for tablenames.
readwritesplit.c: Added comments about temporary table support implementation.
2014-08-29 10:08:48 +03:00
Mark Riddoch
81e1dd8719 Merge branch 'develop' into blr
Add instrumentation

Remove mutexes

Improve gwbuf_append performance

Conflicts:
	server/core/dcb.c
	server/modules/protocol/mysql_backend.c
2014-08-28 11:41:26 +01:00
VilhoRaatikka
c501d4d4e1 Changes related to canonical query format implementation.
query_classifier.cc: Now query can be parsed outside query_classifier_get_type by calling function parse_query. It creates parsing_info_t struct which is then added to the GWBUF which also includes the query. Parsing information follows the buffered query and it is freed at the same time with query buffer, in gwbuf_free.
buffer.c: additions of parsing information to gwbuf struct.
modutil.c: added function which returns query from GWBUF in plain text string.
readwritesplit.c:routeQuery now only calls query_classifier_get_type to get the query type instead of extracting plain text query from the GWBUF buffer.
2014-08-20 22:10:36 +03:00
VilhoRaatikka
13dfd34d5d Test use for cacnonical query function. Effective in debug build only. 2014-08-19 09:39:40 +03:00
Hartmut Holzgraefe
d355e07e2d gitignore cleanup
* ignore typical backup files created by common editors
* move general ignore rules like "*.o" or "depend.mk" to top level gitignore
* ignore executables and test directories in target dir gitignore
  as these are local and there's no general catch-all pattern for them
2014-08-18 09:39:29 +00:00
Vilho Raatikka
34f6884920 Merge pull request #24 from hholzgra/hartmut-DEL
Hartmut del
2014-08-18 09:20:30 +03:00
Vilho Raatikka
087c4720bb Merge pull request #23 from hholzgra/hartmut-DEL
Hartmut del
2014-08-18 09:20:03 +03:00
Hartmut Holzgraefe
fb87f68368 consistently use DEL instead of rm in Makefiles 2014-08-17 21:02:24 +00:00
VilhoRaatikka
dcb2070736 Merge branch 'release-1.0beta' of https://github.com/skysql/MaxScale into release-1.0beta
Conflicts:
	server/modules/protocol/mysql_common.c
2014-08-15 18:43:05 +03:00
VilhoRaatikka
677a44f497 Merge from release-1.0beta to Z2 2014-08-15 18:00:39 +03:00