2695 Commits

Author SHA1 Message Date
Vilho Raatikka
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
Mark Riddoch
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
MassimilianoPinto
37eaf7b455 Replication Lag default is now -2
Replication Lag default is now -2

-1 will be used for no information available from slaves
2014-07-01 10:21:24 +02:00
VilhoRaatikka
57a977bdc0 Merge branch 'develop' of https://github.com/skysql/MaxScale into develop 2014-06-30 22:38:15 +03:00
VilhoRaatikka
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
VilhoRaatikka
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
VilhoRaatikka
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
MassimilianoPinto
ee582bf2b2 write MaxScale PID into pidfile
write MaxScale PID into pidfile
2014-06-29 17:53:25 +02:00
Mark Riddoch
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
MassimilianoPinto
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
Mark Riddoch
eee2ad7143 Merge branch 'develop' into MAX-90
Conflicts:
	server/core/service.c
2014-06-27 12:15:30 +01:00
Mark Riddoch
25d4f784bc Implementation of server routing generic functionality and for readconnrouter 2014-06-27 12:07:47 +01:00
MassimilianoPinto
237bacd131 Merge branch 'develop' into MAX-59 2014-06-27 11:07:55 +02:00
Mark Riddoch
de5d4fda8b Merge of new user interface changes 2014-06-27 09:57:39 +01:00
VilhoRaatikka
20637ee224 Removed unnecessary SERVER pointer from dcb.c:dcb_call_foreach(), changed declaration and call accordingly. 2014-06-27 10:54:11 +03:00
Mark Riddoch
ace2550d93 Merge branch 'develop' into MAX-111 2014-06-26 16:52:57 +01:00
Mark Riddoch
031294f655 Diagnostic update 2014-06-26 16:52:10 +01:00
Mark Riddoch
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
MassimilianoPinto
1a33277f72 Merge from develop
Merge from develop
2014-06-26 17:08:21 +02:00
MassimilianoPinto
4d2e43a2d9 code cleanup and documentation
code cleanup and documentation
2014-06-26 16:56:21 +02:00
VilhoRaatikka
1d1da398d4 Merge branch 'develop' into MAX-99
Conflicts:
	server/modules/routing/readwritesplit/readwritesplit.c
2014-06-25 17:50:29 +03:00
VilhoRaatikka
d30ff534b9 In dcb.c:dcb_read if there is nothing anymore to read from socket, it wasn't caught anyway. Added test for that case and immediate exit in that case. 2014-06-25 15:37:44 +03:00
Mark Riddoch
fa08a141e4 Fix to reload dbusers
Tidyup show service output
2014-06-25 13:01:32 +01:00
Mark Riddoch
792ae454f4 Add support for #!../maxadmin scripts
Add the --help option

Add quoting for executing command with arguments that contain whitespace
2014-06-25 10:00:59 +01:00
Mark Riddoch
e0596b7d72 Merge branch 'develop' into MAX-65 2014-06-25 08:28:17 +01:00
VilhoRaatikka
65c42b93cf If backend fails and sets session state to SESSION_STATE_STOPPING before session is in state SESSION_STATE_ROUTER_READY, sessoin.c:session_alloc overwrites the session state by SESSION_STATE_ROUTER_READY. Protected session state modification and added check before changing the state.
cloesSession was called in session.c:session_free if all DCBs had been removed their references to session. closeSession, however, is function which handles closing router. Router is responsible for closing all backend DCBs (=connections). Thus, calling sessionClose after all backend connections had been removed already is unnecessary and causes assertion traps.

Simply removed the call.
2014-06-24 21:59:42 +03:00
VilhoRaatikka
c30e270768 Removed dcb->command from DCB structure as it was used for session commands but not anymore.
Corrected debug assertion in dcb_final_free because DCB can be freed also when DCB is being created, that is, state is DCB_STATE_ALLOC.
2014-06-24 21:56:15 +03:00
VilhoRaatikka
442ac7fefb Added GWBUF type GWBUF_TYPE_SINGLE_STMT to indicate that buffer only includes single complete stmt. Added macro for checking the flag and changed existing routines as necessary. 2014-06-24 21:51:54 +03:00
Mark Riddoch
a652e875b5 Support for multipacket statements
Remove double free in cloned DCB's
2014-06-24 17:59:29 +01:00
MassimilianoPinto
dfe3092dc5 Merge branch 'develop' into MAX-59 2014-06-24 18:21:09 +02:00
Mark Riddoch
6bfa8897cd Fix compiler warning 2014-06-24 11:51:25 +01:00
MassimilianoPinto
d42469c6cc Merge branch 'develop' into MAX-59 2014-06-23 12:42:32 +02:00
Mark Riddoch
e650930487 Cleanup up branch session on close. 2014-06-23 10:10:04 +01:00
MassimilianoPinto
7ba64875ad master_id, depth, slaves default values
master_id, depth, slaves default values
2014-06-23 09:51:50 +02:00
Mark Riddoch
7067e43b44 Core changes to support tee filter. 2014-06-20 17:49:40 +01:00
Mark Riddoch
c759767a91 Use new session entry points to get remote and user rather than dereference
the DCB directly.
2014-06-19 16:07:21 +01:00
Mark Riddoch
4d257897d3 Merge branch 'develop' of github.com:skysql/MaxScale into develop
Conflicts:
	server/core/session.c
	server/modules/protocol/mysql_backend.c
	server/modules/routing/readwritesplit/readwritesplit.c

Resolved.

Addition of user in topfilter report and general tidyup
2014-06-18 17:45:57 +01:00
MassimilianoPinto
1b6a5efb64 merge from develop
merge from develop
2014-06-18 11:51:47 +02:00
MassimilianoPinto
38fd7b0844 master_id set by monitor
master_id set by monitor and printed via dprint* routines
2014-06-17 16:10:11 +02:00
VilhoRaatikka
e7fa80a591 Code clean up 2014-06-17 16:15:19 +03:00
VilhoRaatikka
49163a4c43 Merge branch 'develop' into MAX-11 2014-06-16 19:53:19 +03:00
VilhoRaatikka
4f03c775e5 sescmd_cursor_reset didn't reset cursor's property pointer which made reset ineffective. 2014-06-16 13:40:45 +03:00
Mark Riddoch
189793f992 Clean up some compiler warnings 2014-06-16 08:40:04 +01:00
Mark Riddoch
9f6a1061c6 Config fix 2014-06-16 08:10:34 +01:00
Mark Riddoch
850603171b Improvements to CLI commands and client 2014-06-16 07:57:12 +01:00
VilhoRaatikka
5bcae64538 When protocol closes DCB it calls dcb_close instead of dcb->func.close. dcb_close then calls dcb->func.close. This is now changed to all protocols and routers.
Rwsplit handles ERRACT_NEW_CONNECTION by clearing backend reference, removing callbacks and associating backend reference with new backend server. If it succeeds and the router session can continue, handleError returns true. Otherwise false. When ever false is returned it means that session must be closed.

Rwsplit now tolerates backend failures in a way that it searches new backends when monitor, backend, or client operation fails due to backend failure.
2014-06-15 23:44:07 +03:00
Mark Riddoch
8103ac6052 Merge branch 'develop' into MAX-65 2014-06-14 12:54:08 +01:00
Mark Riddoch
719503e471 Addition of new client utility, maxadmin.
Supporting protocol for the admin interface

New routing module, cli, which shares source with debugcli

Tidyup output of lsit commands
2014-06-13 23:40:07 +01:00
VilhoRaatikka
09d20d1059 Modified dcb_call_foreach so that it doesn't hold spinlock (dcbspin) continuously because it caused deadlock when new slaves were tried to connect with.
Fixed a few smallish things.
2014-06-13 14:52:04 +03:00
VilhoRaatikka
dfc9141a38 Whenever monitored server's state changes, a callback, router_handle_state_switch is called for each DCB in MaxScale session. The DCB referring to the server in question will be passed as parameter to backend DCB's hangup function.
The logic that solves the situation is not in place yet.
2014-06-13 13:30:50 +03:00