ebcf4afa52
Invalid invariant in assert caused MaxScale to trap if more bytes were read than the first mysql packet contained according to the mysql packet length field. Since it is typical that session updates and mysql packets come in same transfer this check fails in correct cases as well.
...
Removed assertion.
2014-05-20 22:34:43 +03:00
5c39682e40
Added message printing telling what file provided the module which was loaded.
2014-05-17 23:10:03 +02:00
bb364f531b
Bug #425 , http://bugs.skysql.com/show_bug.cgi?id=425
...
mysqlk_client.c now assumes that mysql packets may arrive in separate pieces.
gw_read_client_event reads client data, and if packet is incomplete it is added to new dcb->dcb_readqueue. When next packet is combined with data in readqueue.
mysql_common.c:gw_MySQL_get_next_packet can now return mysql packet from read buffer although it would span multiple gwbuf buffers.
2014-05-16 17:01:10 +02:00
0643e096a6
Documentation update for 0.6.0 release
...
Documentation update for 0.6.0 release
2014-05-09 16:01:49 +02:00
4913c270d3
Merge branch 'fix-423' into release-0.6
2014-05-08 16:26:51 +02:00
391ba19609
Merge branch 'master' of https://github.com/skysql/MaxScale
2014-05-08 16:37:49 +03:00
835c5b3915
Test that session variable scope doesn't span multiple sessions.
2014-05-08 16:36:17 +03:00
9af5d9fb06
Commit fix to bug #418 http://bugs.skysql.com/show_bug.cgi?id=418
2014-05-08 13:13:42 +03:00
29932f7fc8
MySQL handshake has a configurable version_string
...
MySQL handshake has no a configurable version_string parameter in
service section.
The default value is the server version of the embedded mysqld library.
Set option example:
version_string=5.5.37-MariaDB-log
Default is similar to:
5.5.35-MariaDB
2014-05-07 18:08:28 +02:00
bc84dd13f8
Removed this because it is deprecated.
2014-05-07 18:22:37 +03:00
a6ea56a153
Merge branch 'develop' of https://github.com/skysql/MaxScale into develop
2014-04-16 10:26:00 +03:00
81af54730a
Added missing test files for rwsplit router tests.
2014-04-16 10:25:32 +03:00
2fcc371606
Added back --skip-innodb to a call argument for libmysqld
2014-04-15 19:22:46 +03:00
c994c81a0e
Changed the way how autocommit is searched from parse tree. Switched to use typelib instead of explicitly converting and comparing user value. Added more tests for cases where user uses literal values in SET autocommit command.
2014-04-15 14:32:47 +03:00
e01cbd74ed
Bug 409: dcb_final_free now frees dcb->delayq
2014-04-14 10:08:34 +02:00
a253da7b9c
Bug 409: dcb_final_free now frees dcb->delayq
...
Bug 409: dcb_final_free now frees dcb->delayq
2014-04-14 10:06:00 +02:00
7b40c1ee70
Changed how MaxScale unit test works.
...
All tests are run by executing 'make testall' in root directory. As a result all directories which contain tests will be entered and tests executed.
After tests, each directory have a test log including the last run's logs only.
Created a global test log, which is specified in test.inc. Test logs from subdirectories are concatenated to this file.
2014-04-10 19:08:28 +03:00
b9a8f2ce65
Merge branch 'develop' of https://github.com/skysql/MaxScale into develop
2014-04-10 17:11:45 +03:00
bbf1bc2afa
Fix for bug #418
...
Increased skygw_query_type_t to 16 bits, and corrected the way how those bit fields are checked.
Added tests for cases where autocommit is disabled and corrected old tests.
2014-04-10 17:09:42 +03:00
2c17dc3edf
Bug #418 , added functions to query classifier to detect if SET autocommit is called.
...
Note: this compiles but doesn't work yet properly.
2014-04-09 23:43:03 +03:00
c86e25eeb8
Added a test for implicitly started trasnaction.
2014-04-07 17:00:31 +03:00
ce5dc19ecc
Added read/write split router tests to a part of makefile structure.
2014-04-01 14:11:48 -07:00
5e3ec5b3c8
Added "--no-defaults" to arguments that are passed to mysql_library_init. It tells to embedded server not to use any external my.cnf configuration file.
2014-03-29 12:27:02 +02:00
6f46742201
master update from 'release-0.5'
2014-03-28 16:21:10 +01:00
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
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
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
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
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
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
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
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
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
df02926321
Added structure which can be cloned for multiple test cases.
2014-03-25 23:19:24 +02: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
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
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
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
68e96fb0fc
Unix domain socket support
2014-03-17 16:57:51 +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