833 Commits

Author SHA1 Message Date
MassimilianoPinto
54d3baf1db Merge branch 'release-0.5' of https://github.com/skysql/MaxScale into release-0.5 2014-03-28 16:26:12 +01:00
MassimilianoPinto
1a4e1b5ef1 branch update
branch update
2014-03-28 16:26:06 +01:00
Mark Riddoch
efebd27d31 Galera HA Connection Router
Example Galera Connection router for HA environments. Code produced as
part of router writers tutorial.
2014-03-28 14:48:21 +00:00
Mark Riddoch
f544d0df3c Release Notes 0.5
MaxScale 0.5 alpha release notes
2014-03-28 14:46:38 +00:00
MassimilianoPinto
c64da13617 Removed preview from file name
Removed preview from file name
2014-03-28 15:40:12 +01:00
MassimilianoPinto
768c51f5bc Unix domain socket option
Unix domain socket option
2014-03-28 11:54:14 +01:00
MassimilianoPinto
3ffd4033bc Added socket and address options in Listener section
Added socket and address options in Listener section
2014-03-28 11:34:46 +01:00
VilhoRaatikka
8b23a59fb2 Merged new tests and fix in query classifier in develop into release-0.5.
Merge branch 'develop' into release-0.5
2014-03-28 00:22:43 +02:00
VilhoRaatikka
7c3a354fd8 Query classifier ignored implicit commits in cases of write commands. Fixed it.
Added more tests for transaction support. Mostly different cases where some command triggers implicit commit in the middle of transaction.
2014-03-28 00:16:18 +02:00
Timofey Turenko
5c9f25cc2d Merge branch 'develop' into packaging 2014-03-27 19:16:35 +02:00
MassimilianoPinto
40b7ce6d43 Buffer for users' table SHA1 hash is set to zero before using it and strncopy used instead of snprintf
Buffer for users' table SHA1 hash is set to zero before using it and
strncopy used instead of snprintf
2014-03-27 17:19:10 +01:00
VilhoRaatikka
7cc693b572 Added stricter compile flags for debug build. Temporary solution since they will be added to all builds next.
Fixed strin formatting bugs in log_manager.cc .
2014-03-27 17:51:23 +02:00
VilhoRaatikka
9b1035751a Made rwsplit test select_for_var_set.sql generic so that master server's id is filled in test.inc. 2014-03-27 17:17:01 +02:00
VilhoRaatikka
88a964be65 Added examples and cleared out actual values to ensure that those need to be filled in before running tests. 2014-03-27 17:06:51 +02:00
MassimilianoPinto
e9d1f04bc6 Added test: set var @a via select @@server_id
Added test: set  var @a via select @@server_id
2014-03-27 11:45:47 +01:00
VilhoRaatikka
10fdccdeee Added two tests for testing readwrite split router's ability to route read to master if in active transaction and to slave when outside transaction. 2014-03-27 10:27:19 +02:00
VilhoRaatikka
75549c6a20 Added $(ROOT_PATH)/test.inc where test parameters can be added. For example, MaxScale port numbers, usernames, passwords. The file can be included in every */test/makefile so that all test directories can use same parameters if necessary.
Moved checking test results to rwsplit.sh so that tests can use easily different criterias to evaluate test success.
2014-03-27 10:06:31 +02:00
VilhoRaatikka
f380c707f9 In resolve_query_type type can be QUERY_TYPE_COMMIT even if lex->option_type is OPT_DEFAULT. 2014-03-26 22:33:57 +02:00
VilhoRaatikka
ee6489d9eb Merge branch 'develop' of https://github.com/skysql/MaxScale into develop 2014-03-26 19:16:18 +02:00
VilhoRaatikka
f49df89a0c Changed how query classifier determines which statements trigger implicit commit.
Changed test makefile and rwsplit.sh script and added two example sql scripts.
2014-03-26 19:10:35 +02:00
MassimilianoPinto
e194e941c5 Merge branch 'fix-375' into develop 2014-03-26 10:35:07 +01:00
MassimilianoPinto
b08c4271eb fix for bug 375 2014-03-26 10:31:53 +01:00
VilhoRaatikka
df02926321 Added structure which can be cloned for multiple test cases. 2014-03-25 23:19:24 +02:00
VilhoRaatikka
a137196de0 Added trace for spotting out commands which cause implicit commit before or after they are executed. 2014-03-25 11:41:46 +02:00
MassimilianoPinto
ad6566fb00 Shell scripts for binary and source tarballs
Shell scripts for binary and source tarballs
2014-03-25 09:32:35 +01:00
MassimilianoPinto
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
VilhoRaatikka
d660d3590d Cannot compile in readwritesplit.c 2014-03-20 20:30:03 +02:00
VilhoRaatikka
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
VilhoRaatikka
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
VilhoRaatikka
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
VilhoRaatikka
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
VilhoRaatikka
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
VilhoRaatikka
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
VilhoRaatikka
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
VilhoRaatikka
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
VilhoRaatikka
35c460457a Fixed compile error. 2014-03-18 11:21:51 +02:00
VilhoRaatikka
526762bcc7 Fixed reference to backend servers. 2014-03-18 10:54:19 +02:00
VilhoRaatikka
d7b161831b Merge branch 'SESvars' of https://github.com/skysql/MaxScale into SESvars 2014-03-18 10:49:24 +02:00
VilhoRaatikka
512bd9f3ff Added list of reply message variants that are handled. 2014-03-18 10:48:32 +02:00
VilhoRaatikka
72a17e5fe2 Merging SESvars with develop. 2014-03-18 10:28:34 +02:00
VilhoRaatikka
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
VilhoRaatikka
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
MassimilianoPinto
1926181119 Unix socket support 2014-03-17 17:02:33 +01:00
MassimilianoPinto
68e96fb0fc Unix domain socket support 2014-03-17 16:57:51 +01:00
MassimilianoPinto
107b810c45 Unix socket support 2014-03-17 16:19:55 +01:00
MassimilianoPinto
d1c4eabbe8 fix for bug 216 2014-03-17 15:50:17 +01:00
MassimilianoPinto
ae2379be31 Server connection counter is updated in closeSession
Server connection counter is updated in closeSession
2014-03-17 11:26:35 +01:00
VilhoRaatikka
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
MassimilianoPinto
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
VilhoRaatikka
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