Commit Graph

377 Commits

Author SHA1 Message Date
e645007d3f Fixed empty packets being mishandled. 2015-07-22 16:49:47 +03:00
7363343499 Fixed dcb_write failing when the cause was EAGAIN or EWOULDBLOCK. 2015-07-22 15:34:51 +03:00
19d9c9982f Fixed session commands being executed multiple times. 2015-07-22 14:39:18 +03:00
b756690123 Merge branch 'release-1.2' into develop 2015-07-15 11:38:27 +03:00
124ad82de4 Small fix to readwritesplit session command handling. 2015-07-15 11:02:59 +03:00
78eab19c62 Fixed compiler warnings. 2015-07-14 17:13:09 +03:00
6497350ab7 Merge branch 'release-1.2' into develop
Conflicts:
	server/core/adminusers.c
	server/modules/protocol/mysql_client.c
2015-07-11 17:12:48 +03:00
ba417ef633 Merge remote-tracking branch 'origin/develop' into MXS-122
Conflicts:
	server/core/dcb.c
2015-07-08 14:54:22 +01:00
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