340 Commits

Author SHA1 Message Date
VilhoRaatikka
8b91a5f078 Fix to bug #610, http://bugs.mariadb.com/show_bug.cgi?id=610
Fixes to Coverity issues 72728, 72755, 72745
2014-11-05 14:41:04 +02:00
VilhoRaatikka
6ed8836b15 dcb.c:dcb_close prevent redundant execution of dcb_close for one DCB 2014-11-03 22:07:54 +02:00
VilhoRaatikka
9ccbab1899 poll.c:dcb_close Don't call poll_remove_dcb anymore if DCB has already been removed from poll set.
mysql_backend.c, mysql_client.c free error message GWBUF after calling handleError
readconnroute.c:handleError send error message to client before returning.
readwritesplit.c:handleError don't free error message buffer anymore since the caller of handleError frees it.
2014-11-01 20:00:59 +02:00
VilhoRaatikka
00fded016b Fixes to Coverity tasks : 73267, 72686, 72672
Cleaned up warnings, and added checks to malloc return values and error log writes in case of failures.
2014-10-31 15:25:59 +02:00
Mark Riddoch
70672e43a1 Addition of backoff process for master reconnect
Housekeeper task display
2014-10-23 10:46:55 +01:00
Mark Riddoch
f459bdfe04 Add new command to view the event queue
Fixes to fake poll events to improve fairness
2014-10-17 08:36:32 +01:00
counterpoint
32d66e6f84 Minor modifications for testing. 2014-10-03 17:24:46 +01:00
Markus Makela
b0683d9b4d Updated the licensing year from 2013 to 2013-2014 2014-10-01 14:37:12 +03:00
Markus Makela
f4e591e382 Changed 'SkySQL Gateway' to 'MariaDB Corporation MaxScale' 2014-09-30 13:15:03 +03:00
Markus Makela
c344231f80 Renamed all occurences of SkySQL to MariaDB Corporation 2014-09-30 13:02:10 +03:00
Mark Riddoch
0d19857a1f Fix for debug build 2014-09-25 14:56:54 +01:00
Mark Riddoch
63252e94f2 Merge branch 'release-1.0beta-refresh' into blr
Fix conflict and remove some redundant code

Conflicts:
	server/core/poll.c
2014-09-24 16:49:12 +01:00
Mark Riddoch
92ce8a47ba Introduction of a new polling mechanism to make the thread usage more fair and avoid
having busy DCB's being able to block execution of events on less busy DCBs
2014-09-24 16:34:34 +01:00
Mark Riddoch
d561ccb089 Merge branch 'release-1.0beta-refresh' into blr 2014-09-19 13:42:37 +01:00
Mark Riddoch
5721df5176 Add initial file number
Fix for short binlog file names in rotate

Socket buffering changes
2014-09-19 13:40:38 +01:00
Mark Riddoch
2402d55de6 Some general tidyup plus addition of code to block zombie processing
if epoll_wait returned multiple descriptors
2014-09-19 10:50:54 +01:00
VilhoRaatikka
0f3db1c091 First changes for fixing #548, http://bugs.skysql.com/show_bug.cgi?id=548
dcb.c:dcb_process_zombies:added new parameter which tells what DCB the thread will use after calling dcb_process_zombies. Thus, processing that DCB is skipped.
readwritesplit.c:routeQuery:removed double free call for query buffer.
2014-09-17 18:02:44 +03:00
VilhoRaatikka
c7bf6b66bf Fix to #492, http://bugs.skysql.com/show_bug.cgi?id=492
Added comments
2014-09-15 10:34:42 +03:00
MassimilianoPinto
8b5b4a17fe Merge from Z3
Merge from Z3
2014-09-11 12:51:16 +02:00
MassimilianoPinto
7245d1baa1 blr branch merge
blr branch merge
2014-09-11 12:20:42 +02:00
Mark Riddoch
c273988e51 Fixed for EPOLLHUP events
Possible double free in maxscaled on close

binlog router debugging/tracing
2014-09-05 17:29:17 +01:00
VilhoRaatikka
cda39a62fb Fixes to
Includes imprvements to hints processing. If hint can't be followed query is routed possibly to slave, and eventually to master if other attempts fail.
2014-09-03 22:09:50 +03:00
VilhoRaatikka
9ce36d7242 Merge branch 'master' of https://github.com/skysql/MaxScale 2014-08-29 14:46:06 +03:00
Mark Riddoch
81e1dd8719 Merge branch 'develop' into blr
Add instrumentation

Remove mutexes

Improve gwbuf_append performance

Conflicts:
	server/core/dcb.c
	server/modules/protocol/mysql_backend.c
2014-08-28 11:41:26 +01:00
Mark Riddoch
baa655182c Merge branch 'master' into develop 2014-08-20 11:07:55 +01:00
Mark Riddoch
d6a2ef6996 Misc fixes to doxygen comments 2014-08-19 13:22:40 +01:00
VilhoRaatikka
902004c1ee Fix to bug #463, http://bugs.skysql.com/show_bug.cgi?id=463
mysql_common.c:gw_MySQL_get_next_packet didn't handle case where an insert command followed by alter table in the same read buffer. It shouldn't been possible without multi-statement being set.
2014-08-14 22:33:57 +03:00
VilhoRaatikka
77e5525436 mysql_client.c:gw_error_client_event & gw_client_hangup_event: added session state check, if session is already closing, don't start redundant call to dcb_close.
mysql_common.c:mysql_protocol_done: added protocol state check. Used not to check it which caused double free of allocated memory.
2014-08-14 15:15:22 +03:00
VilhoRaatikka
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
VilhoRaatikka
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
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
ace2550d93 Merge branch 'develop' into MAX-111 2014-06-26 16:52:57 +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
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
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
Mark Riddoch
a652e875b5 Support for multipacket statements
Remove double free in cloned DCB's
2014-06-24 17:59:29 +01:00
Mark Riddoch
e650930487 Cleanup up branch session on close. 2014-06-23 10:10:04 +01:00
Mark Riddoch
7067e43b44 Core changes to support tee filter. 2014-06-20 17:49:40 +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
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
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
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
VilhoRaatikka
9eda859724 Added callback for rwsplit router which traverses through every rwsplit router session and for each rses, all backend references. Each bref is checked whether it is connected to non responsive server and if it is flagged to be waiting for response from the non-responsive backend. For matching ones, backend protocol's hangup function is called. 2014-06-13 08:01:26 +03:00
VilhoRaatikka
e95b6cc0d9 dcb.c, gw_utils.c, mysql_server_protocol.h, mysql_client.c : Replaced gw_read_gwbuff with dcb_read in mysql_client.c:gw_read_client_event.
rwsplit.sh, test_sescmd.sql : Added test case for session commands.
2014-06-12 19:02:47 +03:00
Mark Riddoch
2963a8448b Implement non-blocking alternative to mutexes for read serialisation 2014-06-10 17:59:49 +01:00