e586efcaae
Comments updated in get_root_master
...
Comments updated in get_root_master
2014-07-01 16:03:22 +02: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
ff99cd3c63
no rows for slave heartbeat reset server values
...
no rows for slave heartbeat resets the heartbeat and node_ts in server
struct
2014-07-01 10:36:26 +02: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
439cedc800
Fixed num servers counter
...
Fixed num servers counter
2014-06-30 19:33:30 +02:00
dd54dde4ef
fix for root master NULL pinter
...
fix for root master NULL pinter
2014-06-30 19:09:50 +02: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
3e3c1af211
Clean up
2014-06-30 13:43:25 +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
3a299a9ed8
get_replication_tree checks for SERVER_IS_DOWN
...
get_replication_tree checks for SERVER_IS_DOWN, this will produce a
replication tree even with servers in SERVER_IN_MAINT state
2014-06-27 17:16:38 +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
3e83174cd8
Log messages updated for Replication heartbeat
...
Log messages updated for Replication heartbeat
2014-06-27 15:10:25 +02:00
111693775b
master_id and node_id are long vars
...
master_id and node_id are long vars
2014-06-27 14:21:12 +02:00
96b6454e13
fix compile warnings
...
fix compile warnings
2014-06-27 14:11:57 +02:00
875b464c22
pending_status added to MONITOR_SERVERS
...
pending_status added to MONITOR_SERVERS
2014-06-27 14:04:02 +02:00
fdcdc064b1
Added server pending states in monitor
...
server pending states are now saved and copied to server status before
monitor thread sleep
2014-06-27 13:38:35 +02: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
20637ee224
Removed unnecessary SERVER pointer from dcb.c:dcb_call_foreach(), changed declaration and call accordingly.
2014-06-27 10:54:11 +03: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
8808fd7e47
Some debug messages removed
...
Some debug messages removed
2014-06-26 17:18:53 +02: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
4d2e43a2d9
code cleanup and documentation
...
code cleanup and documentation
2014-06-26 16:56:21 +02:00
d8ac0467de
Added comments for SHOW SLAVE STATUS
...
Added comments for SHOW SLAVE STATUS
2014-06-26 14:14:37 +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
2eafe15bca
Added master_host update in the loop
...
Added master_host update in the loop, returns the right server in case
of multiple servers with same replication depth
2014-06-25 15:51:29 +02:00
2d128de85f
Replaced MySQL command macros with enumerated type. Each command has prefix 'MYSQL_' otherwise they match with those listed in mariadb-5.5 mysql_com.h.
...
Added server command list structure which is included in MySQLProtocol. It holds command and number of response packets the command causes backend server to send as a response. Added set of functions related to protocol command and response packets counting etc.
2014-06-25 15:48:55 +03:00