4af2e58c86
Update plugin status to BETA
2014-07-04 09:23:40 +01:00
0036d6d8af
Merge branch 'develop' of https://github.com/skysql/MaxScale into develop
2014-07-03 19:27:59 +03:00
39679447c9
Bugzilla #455 , MaxScale crashed due missing buffer type information in multi-buffer responses.
2014-07-03 19:20:45 +03:00
a100b46680
Comments updated in get_root_master()
...
Comments updated in get_root_master()
2014-07-03 17:04:58 +02:00
a68d83ff7f
Moved error messages about broken pipe to DEBUG build since in cases we've seen it is due to socket closing in same host. Other case is that MaxScale attempts to write COM_QUIT (ending message) to socket that other thread already closed.
...
Added counter clean-up code to readwritesplit closeSession. If operation counters have leaked, that is, due to some error in query routing some counter have been left positive, it is zeroed at session ending. This ensures that there is no garbage in global counter even if individual session wouldn't clean up its counters.
2014-07-03 12:12:21 +03:00
0dfdc27ea5
revert -l:libmysqld.a to -lmysqld
2014-07-03 11:38:59 +03:00
6f6a5b67c9
Merge branch 'develop' of https://github.com/skysql/MaxScale into develop
2014-07-03 00:46:01 +03:00
e944ae2e70
http://bugs.skysql.com/show_bug.cgi?id=453
...
Fixed bug in session command resul handling. In case where backend sent error message the session command cursor wasn't updated properly.
Added check to bref_clear_state, if bref's waiter counter would go negative, decrement to global operation counter is skipped.
2014-07-03 00:43:30 +03:00
eb3a8eaab3
L:.a
2014-07-02 16:25:55 +03:00
f379ee3d7a
add -static for lmysqld
2014-07-02 15:52:16 +03:00
5c2333430d
Removed configuration consistency checks, since monitor's configuration can't be easily read when router instance is created.
...
Fixed braces in slave select condition in select_connect_backend_servers.
2014-07-01 22:18:40 +03:00
d58682d261
Updated Makefile to resolve issue with adding extra MaxScale in the
...
path for a make install command.
2014-07-01 16:53:10 +01:00
29503ce566
Fixed slave selection condition.
2014-07-01 18:01:36 +03:00
ede4f3778f
Merge pull request #10 from skysql/MAX-94
...
Max 94
2014-07-01 17:16:48 +03:00
e586efcaae
Comments updated in get_root_master
...
Comments updated in get_root_master
2014-07-01 16:03:22 +02:00
e68d1f984b
Added check for case where backend's replication lag information is currently not available.
2014-07-01 16:59:45 +03:00
8ffca16368
Added consistency check for detect_replication_lag and max_slave_replication_lag and router_options=slave_select_criteria=LEAST_BEHIND_MASTER
...
Fixed a bug in service_add_qualified_param which didn't handle param list correctly.
2014-07-01 16:54:16 +03:00
248b479bb6
Merge pull request #9 from skysql/MAX-90
...
Addition of server weighting to the read/write splitter
2014-07-01 16:04:52 +03:00
794438a248
Bug fix in get_root_master
...
bug fix in get_root_master if there is a server outside of the
replication tree or not monitored
2014-07-01 12:31:42 +02:00
eaaac58b44
Addition of server weighting to the read/write splitter
...
Tidy up the output of show server and show servers so that columsn align
2014-07-01 11:06:28 +01:00
3b6b33b7dd
Modified refreshInstance to support max_slave_replication_lag.
2014-06-30 22:50:31 +03:00
57a977bdc0
Merge branch 'develop' of https://github.com/skysql/MaxScale into develop
2014-06-30 22:38:15 +03:00
b875936a21
MAX-94, Added configuration parameter, max_slave_replication_lag=<longest allowed replication lag in seconds> to router section.
...
Parameter can be changed runtime but it requires reloading of config.
2014-06-30 22:35:27 +03:00
787483f71c
Merge branch 'develop' into MAX-90
2014-06-30 16:20:11 +01:00
6c1960e53b
Increase accuracy of percentages for connection distribution.
2014-06-30 16:16:27 +01:00
0b89245a4b
Merge branch 'develop' into MAX-167
...
Conflicts:
server/modules/monitor/mysql_mon.c
server/modules/routing/readwritesplit/readwritesplit.c
2014-06-30 14:17:00 +03:00
6d672cb967
Added status bit BREF_QUERY_ACTIVE to indicate if a query, other than session command, sent to backend for execution. The flag is cleared when the first packet belonging to the response arrives.
...
The flag is part of the active operation counting, which is utilized in load balancing. The active operation count per backend is used by default as criteria when router chooses to which backend a query should be routed.
2014-06-30 13:44:34 +03:00
862d504a74
Enabled set and clear the flag BREF_WAITING_RESULT. It is actually a counter which is modified with atomic operations only. Setting and clearing BREF_WAITING_RESULT also includes atomic increment and decrement of corresponding backend server's current operations counter, backend_server->stats.n_current_ops.
2014-06-30 11:00:04 +03:00
aa828e8751
Added missing comment to get_root_master
...
Added missing comment to get_root_master
2014-06-30 09:00:43 +02:00
fcf67716fd
Added mechanism for choosing slave for a query based on the current load in all connected slaves. Counting operations is not correctly done here. Reading values and choosing accordingly is done.
...
Fixed several things in session command reply processing.
2014-06-29 22:21:30 +03:00
32526d31b6
code cleanup
...
code cleanup
2014-06-27 18:14:46 +02:00
5cbc7b9f7d
root server IN_MAINT returns NULL to caller
...
the replication tree returns NULL if the root server is maintenance mode
2014-06-27 17:55:46 +02:00
a25b757134
Merge branch 'develop' into MAX-90
...
Conflicts:
server/core/server.c
server/include/server.h
server/modules/routing/readconnroute.c
2014-06-27 16:04:39 +01:00
ce2d20b70c
Fixed printf format
2014-06-27 15:52:57 +01:00
eee2ad7143
Merge branch 'develop' into MAX-90
...
Conflicts:
server/core/service.c
2014-06-27 12:15:30 +01:00
25d4f784bc
Implementation of server routing generic functionality and for readconnrouter
2014-06-27 12:07:47 +01:00
237bacd131
Merge branch 'develop' into MAX-59
2014-06-27 11:07:55 +02:00
c824e9fad6
Merge branch 'develop' into MAX-111
2014-06-27 09:52:00 +01:00
c13275c0e7
merge from develop
...
merge from develop
2014-06-26 21:27:22 +02:00
52646a9942
Fix compile warning
...
Fix compile warning
2014-06-26 21:22:33 +02:00
a351a5eb09
fix compile warning
...
fix compile warning
2014-06-26 21:17:49 +02:00
f246219beb
Fix compile errors and warnings
...
Fix compile errors and warnings
2014-06-26 18:20:33 +02:00
ace2550d93
Merge branch 'develop' into MAX-111
2014-06-26 16:52:57 +01:00
f96b762478
User interface improvements
...
Addition of enable/disable heartbeat, enable/disable root, list monitors,
show monitors
Better filter diagnostic output
2014-06-26 16:46:19 +01:00
1dbb4b1780
removed duplicated routine code
...
removed duplicated routine code
2014-06-26 17:12:08 +02:00
1a33277f72
Merge from develop
...
Merge from develop
2014-06-26 17:08:21 +02:00
dbf12f6183
Added new rules for Master selection
...
Added new rules for Master selection using replication tree
2014-06-25 18:38:33 +02:00
5a65bc2aaa
get_root_master routine available
...
get_root_master routine available
2014-06-25 17:19:14 +02:00
1d1da398d4
Merge branch 'develop' into MAX-99
...
Conflicts:
server/modules/routing/readwritesplit/readwritesplit.c
2014-06-25 17:50:29 +03:00
7ff14e23a5
Support for prepared statement, namely support for following comands : COM_STMT_PREPARE, COM_STMT_EXECUTE, COM_STMT_SEND_LONG_DATA, COM_STMT_RESET, COM_STMT_CLOSE, SQLCOM_PREPARE, SQLCOM_EXECUTE, SQLCOM_DEALLOCATE_PREPARE (DEALLOCATE/DROP PREPARE stmt).
...
All prepare commands are executed in every backend server currently connected.
All executes are routed to master. If stmt type was recorded in prepare phase in rwsplit router, read-only stmts could be routed to slaves.
COM_STMT_PREPARE gets arbitrary number of response packets from backend database. Since statements are prepared in every backend server and only one multi-packet response can be replied to client, redundant multi-packet responses are discarded. This is done in router. Mechanisms from session command handling are utilized with little changes: router must identify when response consists of multiple packets so that it knows to calculate the number of packets in response and that it is able to discard correct number of packets.
Information to the reply-handling router is provided by backend protocol, which includes a ordered list of commands of commands sent to protocol-owning backend server. A command is stored to protocol struct in mysql_backend.c:gw_MySQLWrite_backend if the statement buffer's type has GWBUF_TYPE_SINGLE_STMT set in mysql_client.c:route_by_statement. GWBUF_TYPE_SINGLE_STATEMENT indicates that there is single statement in the buffer, as opposite to Read Connection router, which accepts streaming input from client.
2014-06-25 17:15:46 +03:00