Commit Graph

297 Commits

Author SHA1 Message Date
3f4e67ccca Changed value for SERVER_SLAVE_OF_EXTERNAL_MASTER
Changed SERVER_SLAVE_OF_EXTERNAL_MASTER value to 0x0080 (128)
2014-07-29 16:46:39 +02:00
2dea68b9b3 Hint parsing 2014-07-25 16:33:49 +01:00
764ceac105 Merge branch 'httpd' into MAX-157
Conflicts:
	server/core/buffer.c
	server/include/buffer.h
2014-07-16 18:31:12 +01:00
944ee9134c Initial HINT structure added 2014-07-16 18:29:20 +01:00
87e66a0ea8 Revert "Implementation of HTTPD protocol, gwbuf properties and a dmeo web application"
This reverts commit 6fd5dff34902051f38932947493280e1e62dbeb1.
2014-07-15 17:53:39 +01:00
6fd5dff349 Implementation of HTTPD protocol, gwbuf properties and a dmeo web application
interface to test the new httpd.
2014-07-15 17:39:31 +01:00
39679447c9 Bugzilla #455, MaxScale crashed due missing buffer type information in multi-buffer responses. 2014-07-03 19:20:45 +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
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
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
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
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
380f5b6bf3 Merge branch 'develop' into MAX-59 2014-06-27 13:58:12 +02:00
4f12e123c5 Removed SERVER parameter from dcb_call_foreach
Removed SERVER parameter from dcb_call_foreach
2014-06-27 13:51:40 +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
de5d4fda8b Merge of new user interface changes 2014-06-27 09:57:39 +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
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
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
1d1da398d4 Merge branch 'develop' into MAX-99
Conflicts:
	server/modules/routing/readwritesplit/readwritesplit.c
2014-06-25 17:50:29 +03:00
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
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
a652e875b5 Support for multipacket statements
Remove double free in cloned DCB's
2014-06-24 17:59:29 +01:00
e1e172fe03 Fixed compile errors
Fixed compile errors
2014-06-24 18:37:17 +02:00
dfe3092dc5 Merge branch 'develop' into MAX-59 2014-06-24 18:21:09 +02:00
d42469c6cc Merge branch 'develop' into MAX-59 2014-06-23 12:42:32 +02:00
e650930487 Cleanup up branch session on close. 2014-06-23 10:10:04 +01:00
7ba64875ad master_id, depth, slaves default values
master_id, depth, slaves default values
2014-06-23 09:51:50 +02:00
7067e43b44 Core changes to support tee filter. 2014-06-20 17:49:40 +01:00
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
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
1b6a5efb64 merge from develop
merge from develop
2014-06-18 11:51:47 +02:00
e0c3ef24d7 typo fix
typo fix
2014-06-17 13:05:31 +02:00
fe846885d5 depth and master_id fields added
depth and master_id fields added
2014-06-17 13:05:03 +02:00
49163a4c43 Merge branch 'develop' into MAX-11 2014-06-16 19:53:19 +03:00
189793f992 Clean up some compiler warnings 2014-06-16 08:40:04 +01:00
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
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
15ff1fd26a Fixed many error handling issues regading to timing and multiple threads.
Added flags to those backend references which have sent something to backend which causes the backend to send results or reply back. Didn't add removal of the flag since there's currently no way to tell whether response from backend contains anything else than session command reply - which aren't counted when BREF_WAITING_RESULT is set and cleared.
2014-06-12 23:22:51 +03:00
d17315b2cd Updated QLA filter to allow for regex matches and client address matches
to control the statements that are logged.
2014-06-11 23:55:29 +01:00
2963a8448b Implement non-blocking alternative to mutexes for read serialisation 2014-06-10 17:59:49 +01:00
a8def0d670 Additional error checking and documentation.
Implementation of topfilter options
2014-06-10 11:57:48 +01:00
77e1426dbf Initial upstream fitlering implementation.
Test filter with up and down stream filtering. Keeps top N queries
and prints a report of these queries on session close.
2014-06-09 21:13:28 +01:00
889bdd4f8c In dcb.c:dcb_close DCB is removed either before or after the call dcb->func.close. Since mysql backend protocol sends COM_QUIT and thus, writes to backend DCB, it is kept in DCB_STATE_POLLING until the write is completed.
dcb.h: define ERRHAND temporarily since changes are still behind that macro
Defined two error handling actions in router.h: ERRACT_NEW_COMMECTION and ERRACT_REPLY_CLIENT.
Failed database is logged at expanding frequence to error and to message log due changes in mysql_mon.c. Added two new members in MONITOR_SERVERS: mon_err_count, and mon_prev_status so that each backend can be treated individually.

Error handling: if mysql_backend.c:dcb_read fails, router's handleError is called instead of closing session.
	If mysql_client.c:SESSION_ROUTE_QUERY fails router's handleError is called instead of sending error to client.

	readwritesplit.c:select_connect_backend_servers is modified so that in can be called during active router session. When called, it attempts to find one master and maximum number of configured slaves in correct state if necessary.
	When handleError needs to replace failed unit it now calls select_connect_backend_servers.
2014-06-08 19:36:12 +03:00
9e164b83f0 Updates to debug CLI
Fix for argument passign to show filter

Addition of list dcbs commands
2014-06-07 20:41:58 +01:00