Commit Graph

319 Commits

Author SHA1 Message Date
10d690273d Resolve compiler warnings 2015-07-08 11:35:41 +01:00
fb09cbf100 Fixed queries being routed when the session is already closing. 2015-07-07 13:15:23 +03:00
c2e51f2e98 Fix to MXS-223: https://mariadb.atlassian.net/browse/MXS-223
Added a temporary buffer to prevent losing the pointer to the cloned buffer when dcb->func.write fails.
2015-07-07 08:16:29 +03:00
dc646bfbf1 Fix to MXS-244: https://mariadb.atlassian.net/browse/MXS-244
Fixed buffers being only partially consumed if they contained more than one packet
when a replu to a prepared statement is received.
2015-07-04 09:07:37 +03:00
dc15fbb576 Fixed build failure. 2015-07-01 16:46:32 +03:00
53a4dd393d Fix to a Coverity defect. 2015-07-01 16:08:33 +03:00
a2e281823a Added NULL checks to readwritesplit. 2015-06-30 14:58:36 +03:00
c6f43c0058 Merge branch 'MXS-171' into develop 2015-06-29 12:04:43 +03:00
c9606e1071 Fixed build failures due to mismatching function prototypes. 2015-06-27 08:28:37 +03:00
03503a8f9b Fix a number of relatively simple bugs shown by Coverity. 2015-06-26 17:31:58 +01:00
7a8c307515 MXS-171: https://mariadb.atlassian.net/browse/MXS-171
Added option which allows the master server to be used for reads.
2015-06-24 19:23:43 +03:00
d0e92a15f8 Move decrement of server connections into zombie processing; introduce dcb_close_finish to be called either in dcb_close or when persistent dcb is discarded. 2015-06-09 11:41:43 +01:00
ff2462f2d2 Fix to MXS-127:https://mariadb.atlassian.net/browse/MXS-127
Corrected the wrong session commands being deleted.
2015-05-09 11:25:18 +03:00
d545150ceb Fix to MXS-70: https://mariadb.atlassian.net/browse/MXS-70
Added assert information to error log.
2015-05-02 05:51:25 +03:00
21ad6fba2a Added option to disable slave recovery in readwritesplit. 2015-04-24 05:55:06 +03:00
8d4f301545 Added the option to disable session command history to readwritesplit. 2015-04-23 20:12:04 +03:00
282f66f9fd Merge branch 'develop' into MAX-324
Conflicts:
	utils/skygw_utils.cc
2015-03-06 17:07:39 +02:00
c937568624 Fixed a possible memory leak when session command history limits are used. 2015-03-05 20:46:55 +02:00
880adca73e Merge branch 'develop' into MAX-324 2015-03-05 10:45:48 +02:00
2d08bc4eda Fix to bug 736: http://bugs.mariadb.com/show_bug.cgi?id=736
Added a cofigurable limit on the number of session commands the readwritesplit router stores.
2015-03-01 02:27:47 +02:00
7a50e4be3d Small addition to previous fix to session command error handling. 2015-02-24 13:46:05 +02:00
21a77736bf Fixed session command error handling with backend DCBs that were already closed. 2015-02-24 13:44:01 +02:00
9e7afeb302 Merge branch 'develop' into MAX-324
Conflicts:
	macros.cmake
	server/core/config.c
	server/core/service.c
	server/modules/routing/CMakeLists.txt
2015-02-24 06:26:55 +02:00
46c4fefb00 Fixes to coverity defects 87601 87557 87548 87547 87546 87545 87544 87536 87535 87529 87528 2015-02-22 22:29:30 +02:00
7fc004ec28 Merge branch 'develop' into MAX-324 2015-02-20 10:18:45 +02:00
22f7137440 Fix to bug 600: http://bugs.mariadb.com/show_bug.cgi?id=600
readwritesplit now drops slave connections that fail a session command.
2015-02-20 06:38:38 +02:00
ea55572ab8 Merge branch 'develop' into MAX-324 2015-02-20 04:45:48 +02:00
dc65c9e1cc Fix to bug 729: http://bugs.mariadb.com/show_bug.cgi?id=729
Prepared statements with a SELECT statement were falsely detected as SELECT queries with session variable modification.
This caused the error message and the failure to route the query.
2015-02-17 18:29:24 +02:00
0d4761ade8 Merge branch 'develop' into MAX-324 2015-02-06 23:27:59 +02:00
2a06331f82 Fixed readwritesplit hashing function returning the key value instead of the hash value. 2015-02-06 22:09:28 +02:00
ea88cea959 Merge branch 'develop' into MAX-324 2015-01-29 20:36:26 +02:00
a016fdd0b7 Complementary fix to #507, http://bugs.skysql.com/show_bug.cgi?id=507.
Missing braces in get_route_target made the previous fix ineffective.
2015-01-28 12:20:30 +02:00
21bb341c7d Fix to bug #507, http://bugs.mariadb.com/show_bug.cgi?id=507
readwritesplit.c:get_route_target routed query to slave although query type was combined QUERY_TYPE_READ | QUERY_TYPE_MASTER_READ, where the latter is supposed to be routed to master.
2015-01-27 15:21:31 +02:00
270c0ebf8a Clean up, added comments, removed some dead code. 2015-01-27 10:24:37 +02:00
db1ea422a0 Merge branch 'develop' into MAX-324
Conflicts:
	server/core/modutil.c
2015-01-20 04:25:40 +02:00
f5d8e2366a modutil.c:modutil_reply_routing_error: Removed GWBUF type flag setting and added flags argument to function prototype so that the caller can set necessary flags and they are then copied to GWBUF which is first created in modutil_reply_rounting_error. 2015-01-17 23:07:06 +02:00
6d2b38d4b6 Complementary fix to #694,http://bugs.mariadb.com/show_bug.cgi?id=694
RWSplit router handles query processing errors that happened in router by sending parse error reply to client. routeQuery fails only when backend has failed.
2015-01-17 22:40:52 +02:00
da77da803b Complementory fix to bug #694, http://bugs.mariadb.com/show_bug.cgi?id=694
Added new error action to router.h, added functionality to reset error flag from DCB in handleError. Error is reset before every new routing call.
2015-01-16 11:13:42 +02:00
39e4253c81 Fix to bug #694, http://bugs.mariadb.com/show_bug.cgi?id=694
query_classifier.cc: set_query_type lost previous query type if the new was more restrictive. Problem was that if query is both READ and SESSION_WRITE and configuration parameter use_sql_variables_in=all was set, routing target became ambiguous. Replaced call to set_query_type with simply adding new type to type (=bit field) and checking unsupported combinations in readwritesplit.c:get_route_target. If such a case is met, a detailed error is written to error log in readwritesplit.c. mysql_client.c sees the error code and sends an error to client. Then mysql_client.c calls router's handleError which ensures that there are enough backend servers so that the session can continue.
2015-01-15 15:16:22 +02:00
db70163373 Merge branch 'develop' into MAX-324
Conflicts:
	query_classifier/query_classifier.cc
2015-01-15 13:17:42 +02:00
b3824a1eaf Clean up bits and pieces, removed some unnecessary checks. 2015-01-14 14:11:19 +02:00
632190f9aa Merge branch 'release-1.0GA' into MAX-324 2015-01-08 14:11:19 +02:00
c4006d43c2 Fix to Coverity defect 85262 2015-01-06 05:28:58 +02:00
fed828eb29 Merge branch 'release-1.0GA' into MAX-324
Conflicts:
	server/MaxScale_template.cnf
	server/core/service.c
2015-01-06 04:45:30 +02:00
91a3109f4d Fix to bug 638: http://bugs.mariadb.com/show_bug.cgi?id=638
readwritesplit.c:Added missing backend type when using max_slave_replication_lag hint.
2015-01-05 14:28:16 +02:00
468ce72c18 Fix to bug 681: http://bugs.mariadb.com/show_bug.cgi?id=681
Added casts to floating point versions of values when doing divisions.
2015-01-05 13:54:27 +02:00
185e5b82d6 Merge branch 'release-1.0GA' of https://github.com/mariadb-corporation/MaxScale into release-1.0GA 2015-01-05 06:09:39 +02:00
ba009e5fd3 Fixes to Coverity defects 85010 84878 72752 72742 72719 and 73418.
skygw_utils.cc: Added function is_valid_posix_path that checks if a path is POSIX-compliant.
2015-01-05 06:05:56 +02:00
2d3491e123 Additional fix to bug #676
readwritesplit.c:route_session_write: added check that at least one backend is being used.
2015-01-03 01:47:11 +02:00
9be2212d96 Fix to bug #676, http://bugs.mariadb.com/show_bug.cgi?id=676
readwritesplit.c:route_session_write failed if the last backend on all backends list was not in use. THe situation where not all backends are used by routing session is normal especially if max_slave_connections is not set to 100%. Thus session commands may have failed if user was bit unlucky.
Changed the logic so that the function fails (and session is closed) if routing fails to any such backend which is in use in the session.
2015-01-03 01:21:30 +02:00