Commit Graph

909 Commits

Author SHA1 Message Date
ad6566fb00 Shell scripts for binary and source tarballs
Shell scripts for binary and source tarballs
2014-03-25 09:32:35 +01:00
f320c17834 Added test for readwrite split: SET and TRANSACTION - COMMIT
Added test for readwrite split: SET and TRANSACTION - COMMIT
2014-03-24 15:15:21 +01:00
d660d3590d Cannot compile in readwritesplit.c 2014-03-20 20:30:03 +02:00
288ca68677 Changed variable type which includes information of query type returned by query classifier.
As a consequence, if autocommit is enabled, active transaction(s) are implicitly committed and MaxScale detects that implicit commit.
2014-03-20 12:15:57 +02:00
fcf7d37114 Added support for router option 'synced' in read write split router. If router option is specified, backend server must be in 'joined' state to be eligible backend candidate. 2014-03-19 22:29:02 +02:00
5ef657d833 Corrected some error messages. Added checking for protocol state in gw_MySQLWrite_backend. If protocol is in MYSQL_AUTH_FAILED state (=authentication is comleted and failed) write to backend is discarded. 2014-03-19 14:36:47 +02:00
4d1f3f4efc Merge branch 'MAX-10' of https://github.com/skysql/MaxScale into MAX-10
Conflicts:
	server/modules/protocol/mysql_backend.c
2014-03-19 10:55:14 +02:00
d6a9a5c1d0 MAX-10, Transaction support for MaxScale.
Naive implementation, which routes all statements to master between BEGIN|START TRANSACTION <options> and ROLLBACK|COMMIT
2014-03-18 23:41:32 +02:00
709ab19744 MAX-10, Transaction support for MaxScale.
Naive implementation, which routes all statements to master between BEGIN|START TRANSACTION <options> and ROLLBACK|COMMIT .
2014-03-18 23:35:41 +02:00
d10b240ae2 Changed back the first part of gw_MySQLWrite_backend so that it is protected by dcb->authlock which must wait until authentication phase is complete. If authentication fails, the error is handled before next query starts its execution. 2014-03-18 17:48:57 +02:00
d7e9978ac1 Changed back the first part of gw_MySQLWrite_backend so that it is protected by dcb->authlock which must wait until authentication phase is complete. If authentication fails, the error is handled before next query starts its execution. 2014-03-18 17:00:43 +02:00
35c460457a Fixed compile error. 2014-03-18 11:21:51 +02:00
526762bcc7 Fixed reference to backend servers. 2014-03-18 10:54:19 +02:00
d7b161831b Merge branch 'SESvars' of https://github.com/skysql/MaxScale into SESvars 2014-03-18 10:49:24 +02:00
512bd9f3ff Added list of reply message variants that are handled. 2014-03-18 10:48:32 +02:00
72a17e5fe2 Merging SESvars with develop. 2014-03-18 10:28:34 +02:00
c356b396a6 Merge branch 'SESvars' of https://github.com/skysql/MaxScale into SESvars
Conflicts:
	server/core/dcb.c
	server/core/poll.c
	server/modules/include/mysql_client_server_protocol.h
	server/modules/routing/readwritesplit/readwritesplit.c
2014-03-18 10:28:06 +02:00
67d9b3afb9 Fixed bug in how response messages from backends were handled. Now messages are examined if session command cursor is active
. That means that (at least) the first packet  in the message is response to session command. Then if the response is alread
y forwarded to client it is discarded. Otherwise it is routed to client and the command is marked as responded so that the o
ther backend knows to discard its duplicate response.
2014-03-17 22:26:32 +02:00
1926181119 Unix socket support 2014-03-17 17:02:33 +01:00
68e96fb0fc Unix domain socket support 2014-03-17 16:57:51 +01:00
107b810c45 Unix socket support 2014-03-17 16:19:55 +01:00
d1c4eabbe8 fix for bug 216 2014-03-17 15:50:17 +01:00
ae2379be31 Server connection counter is updated in closeSession
Server connection counter is updated in closeSession
2014-03-17 11:26:35 +01:00
90f701be8e readwritesplit.c : router is changed so that it guarantees to keep the execution order of session commands and queries when they are routed to backend servers. In the same way it maintains the order of response packets and discards duplicate responses.
For each session command a sescmd property is created and added to the end of list of session commands. List is owned by router client session and it includes all session commands from the beginning of router session.
Router maintains an individual session command cursor for each backend. A cursor refers to the first session command which the corresponding backend server haven't yet responded yet.
When response message arrives at any time from backend, first it is checked whether backend's cursor is active. Cursor is active if a session command is routed to backend and the backend haven't responded to it yet. If cursor is active, next it is checked whether the current session command property has been responded by other backend. If both are true, then response message is sent to client as is. If session command response is routed to client already, the arrived response is discarded.
2014-03-16 19:43:49 +02:00
9b833b9464 Added 'socket' to the parameter list and moved EPOLLERR and EPOLLHUP after processing of EPOLLIN and EPOLLOUT.
Added 'socket' to the parameter list and moved EPOLLERR and EPOLLHUP
after processing of EPOLLIN and EPOLLOUT.
2014-03-14 16:43:41 +01:00
a3f7eebdc9 Extended session command support to cover COM_CHANGE_USER, and COM_INIT_DB.
This implementation doesn't guarantee execution order between session commands and queries
if other backend server lags behind in session command execution.

In poll.c : moved processing of EPOLLERR and EPOLLHUP after processing of EPOLLIN and EPOLLOUT.
This ensures that COM_QUIT messages are read and routed forward before signals arrive (from local client/backend).
2014-03-14 13:25:37 +02:00
cb6a976555 Router has now capability value which currently tells whether router session expects stream or individual, complete statements. With read con
nection router stream is used and with read/write split router individual statements are passed to router.
Added new function to ROUTER_OBJECT : uint8_t (*getCapabilities)(ROUTER *instance, void* router_session); which is implemented in every route
r.

Added support for multi-statement packets in rwsplit router. In other words, if network packet includes multiple mysql statements, they are separated and passed to router one by one.

Multi-packet statements (those which exceeds network packet boundaries) are _not_ supported yet.
2014-03-11 23:12:11 +02:00
9a11a3241b UNIX socket support
UNIX socket support
2014-03-11 13:00:34 +01:00
bef81ac7a6 Update README 2014-03-10 13:24:20 +00:00
c28892323a Added support for session commands to readwrite split router.
Added support for multi-statement packets.

This is an intermediate commit to save work. Code is not cleaned and there are debug prints and prototypes to be removed.
2014-03-07 20:53:33 +02:00
513839a43d fix ldconfig file in the package 2014-03-07 02:49:15 +02:00
0d332d8af2 fix ldconfig file in the package 2014-03-07 02:34:05 +02:00
90a6560e6a add ldconfig file and command 2014-03-07 02:17:17 +02:00
27739261fd add make clean 2014-03-06 22:27:41 +02:00
422d6faa9d add more BuildRequires and proper parameters for make command 2014-03-06 15:25:05 +02:00
993f3375fa fix .spec 2014-03-06 13:14:16 +02:00
4f60625a54 Server connection counter is updated in closeSession
Server connection counter is updated in closeSession
2014-03-06 08:45:51 +01:00
895ef4548e MySQL authentication with hostname 2014-03-04 11:23:38 +01:00
3413828242 MySQL authentication with hostname 2014-03-04 11:23:20 +01:00
963c61a83b Merge branch 'master' of https://github.com/skysql/MaxScale 2014-03-04 11:21:16 +01:00
f5a687d30b MySQL authentication with hostname 2014-03-04 11:21:06 +01:00
7154a3f742 Merge branch 'master' of https://github.com/skysql/MaxScale 2014-03-04 11:20:53 +01:00
aa1f5adc9a MySQL authentication with hostname 2014-03-04 11:20:41 +01:00
1a2521f213 Merge branch 'master' of https://github.com/skysql/MaxScale 2014-03-04 11:20:03 +01:00
5488a2862d MySQL authentication with hostname 2014-03-04 11:19:48 +01:00
ad56bed497 Merge branch 'master' of https://github.com/skysql/MaxScale 2014-03-04 11:19:24 +01:00
7fddb625d3 MySQL authentication with hostname 2014-03-04 11:18:50 +01:00
e48e634675 Merge branch 'feature-MAX-2' into develop for Documentation update 2014-03-04 10:44:57 +01:00
32d3b0492d Documentation update for MySQL authentication
Documentation update for MySQL authentication
2014-03-04 10:44:05 +01:00
415221f0c4 Documentation update
Documentation update
2014-03-03 18:34:27 +01:00