Commit Graph

144 Commits

Author SHA1 Message Date
635fcf708f Fix to bugs #665, and #664. Potentially to #649.
http://bugs.skysql.com/show_bug.cgi?id=665
http://bugs.skysql.com/show_bug.cgi?id=664
http://bugs.skysql.com/show_bug.cgi?id=649

dcb.c:dcb_final_free: (665):set dcb->session->client pointer to NULL so that it won't be read anymore and other threads won't try to close it.
	dcb_final_free:(664):don't free dcb->data, it is either freed in session_alloc if session creation fails or in session_free only.
session.c:if session creation fails, free dcb->data and remove links between client DCB and session.
mysql_backend.c:(665):gw_backend_close:check that session->client isn't NULL and that client DCB's state is still polling before calling dcb_close for it.
mysql_client.c:gw_mysql_do_authentication:if anything fails, and session_alloc won't be called, free dcb->data.
mysql_common.c:gw_send_authentication_to_backend:if session is already closing then return with error.
2014-12-29 20:19:01 +02:00
ff5fe23ce6 dcb.b:dcb_final_free:replaced ((dcb->flags & DCBF_CLONE)==0) with macro !DCB_IS_CLONE(dcb)
readwritesplit.h:Removed invalid macros which assumed that ROUTER_CLIENT_SES->rses_backend_ref always pointed to valid and used backend reference and thus included potential risk of NULL-pointer refernce.
mysql_backend.c and mysql_client.c:avoid executing CHK_PROTOCOL(p) after original DCB has been released the memory.
readwritesplit.c:Replaced RSES_CLEINT_DCB macro with a function which returns client DCB for a given router client session.
2014-12-23 16:10:27 +02:00
a655e394ac Merge branch 'blr' into release-1.0GA
Conflicts:
	server/core/service.c
2014-12-16 15:44:19 +00:00
909518fac7 Improved error messages
Support for running out of disk space in the binlog router

Support for COM_PING & COM_STATISTICS added in the binlog router

Addition of binlogdir router option
2014-12-16 10:38:09 +00:00
a4968f2521 Complete fix candidate for #645, http://bugs.skysql.com/show_bug.cgi?id=645 and #648, http://bugs.skysql.com/show_bug.cgi?id=648
tee.c:closeSession removed unnecessary dcb_free, router/service closes all backend DCBs and the client DCB, and client DCB is the one that was tried to free in closeSession.
readwritesplit.c:routeQuery now handles untyped and typed GWBUFs. Untyped means that read buffer may consist of incomplete and multiple MySQL packets. Typed buffer always consists of a single MySQL packet (which can be split to many buffers inside GWBUF).
Fixed Coverity cases #84840 and #84841
2014-12-14 11:26:15 +02:00
df1ff25be4 Changes for file system full detection 2014-12-10 09:07:14 +00:00
b1eaaea961 Merge branch 'release-1.0GA' of https://github.com/mariadb-corporation/MaxScale into release-1.0GA 2014-12-05 23:57:02 +02:00
01b1b0a304 Fixes to Coverity issues 84388, 84386, 84385
mysql_mon.c: Added back server state logging to Debug build.
query_classifier.cc: removed some extra debug code, cleaned up a bit function documentation.
mysql_client_server_protocol.h, mysql_backend.c, mysql_common.c: changed some variables to signed ones to enable checking of calculations in the code.
skygw_utils.cc: removed erroneous debug assertion.
2014-12-05 23:39:14 +02:00
e102d56e69 Merge branch 'blr' into release-1.0GA
Conflicts:
	server/modules/protocol/mysql_backend.c
	server/modules/routing/binlog/blr_master.c
2014-12-05 11:42:02 +00:00
2b998eb17f Merging binlog router into beta refresh 2014-12-05 11:30:03 +00:00
33f77303f7 Backend failed handshake is now a detected
Backend failed handshake is now a detected and MYSQL_HANDSHAKE_FAILED s
set.

Reload users from backend is now restricted to MYSQL_AUTH_FAILED only
2014-12-03 09:11:26 +01:00
863a30c969 Merge branch 'blr' of https://github.com/mariadb-corporation/MaxScale into blr
Conflicts:
	server/core/gateway.c
2014-11-26 08:47:50 +00:00
ba44605cb0 Changes for FDE events 2014-11-21 15:01:38 +00:00
d3c8770852 Merge branch 'blr' into develop
Conflicts:
	client/maxadmin.c
	server/core/CMakeLists.txt
	server/core/dcb.c
	server/core/gateway.c
	server/core/poll.c
	server/core/test/CMakeLists.txt
	server/core/test/makefile
	server/include/poll.h
	server/modules/routing/debugcmd.c
2014-11-19 12:00:55 +00:00
c9b679359f Made RWSplit to use slave selection criteria also during client session. Previously the criteria was use when slaves were selected for use of client session. 2014-11-17 13:40:18 +02:00
175711a1bc Fix to #601, http://bugs.skysql.com/show_bug.cgi?id=601
if (func.auth ==)gw_change_user->gw_send_change_user_to_backend is called before backend has its scramble, auth packet is set to backend's delauqueue instead of writing it to backend. When backend_write_delayqueue is called COM_CHANGE_USER packets are rewritten with backend's current data.
2014-11-13 17:55:29 +02:00
49d28bc1f3 MySQL connect: charset flag is stored
MySQL connect: charset flag is stored and passed to backend
2014-11-10 16:09:55 +01:00
848c7aa0b8 Fixes to Coverity cases 72678 (retry), 72693 2014-10-31 11:38:57 +02:00
70672e43a1 Addition of backoff process for master reconnect
Housekeeper task display
2014-10-23 10:46:55 +01:00
932fc5dc2c Resolve issue with icorrectly markign slave connection as errored 2014-10-21 14:31:05 +01:00
554a054e18 Improve logging support 2014-10-17 12:29:29 +01:00
9b3dfc86fe Binlog router performance improvements 2014-10-17 08:38:58 +01:00
fe0e7c74d0 Resolve transition from catchup to follow mode. 2014-10-14 11:43:08 +01:00
fd1154b944 Change of distribution mechanism to use fake events exclusively and avoid
complex locking mechanism and blocking the master DCB eent processign thread

Addition of shared BLFILE mechanism to reduce open/close overhead
2014-10-03 14:33:28 +01:00
9186d3fa90 Fixes for blr_salve performanc issues, linking of embedded library,
housekeeper heartbeat addition and unloading of modules to allow
profiling of modules using LD_PROFILE environment variable and sprof
2014-10-01 18:30:13 +01:00
b0683d9b4d Updated the licensing year from 2013 to 2013-2014 2014-10-01 14:37:12 +03:00
bce0716861 Merge branch 'blr' of https://github.com/skysql/MaxScale into blr 2014-09-30 13:27:03 +01:00
0ef87e3cc1 Updates to slave catchup mode to use fake events
Addition of fake EPOLLOUT event mechanism

New memlog feature for debugging purposes
2014-09-30 13:25:45 +01:00
f4e591e382 Changed 'SkySQL Gateway' to 'MariaDB Corporation MaxScale' 2014-09-30 13:15:03 +03:00
c344231f80 Renamed all occurences of SkySQL to MariaDB Corporation 2014-09-30 13:02:10 +03:00
2801aa851e Merge branch 'blr' of https://github.com/skysql/MaxScale into blr 2014-09-26 15:44:18 +03:00
5ec1a83f3b Fix to #478, http://bugs.skysql.com/show_bug.cgi?id=478
Execution of session commands failed because session commands and normal sql statements were executed in a wrong order if backend was executing previous session command while new sql stmt was routed to that backend. There was a window where ordering went wrong.
It is possible that one normal sql stmt arrives while previous sescmds are still being executed.

Introduced a new member in backend_ref_t structure, bref_pending_cmd where new sql stmt pointer is stored in that case. When sescmds are executed completely, that command is automatically executed next.
2014-09-26 15:40:32 +03:00
3430fc99d2 Shutdown fix in housekeeper
In memory logging in blr_master
2014-09-26 12:36:59 +01:00
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
f3429dac1b Fix for double free if incorrect password is passed 2014-09-24 11:13:33 +01:00
7562d49a95 Addition rtdsc for tracing purposes 2014-09-23 22:09:36 +01:00
f3d32087d8 Performance improvement or streaming large result sets.
-bash-4.1$ time mysql -h 127.0.0.1 -P4007 -umassi -pmassi information_schema -q -e "select * from engines a, engines b, engines c, engines d, engines e;" > /dev/null

real	1m16.137s
user	0m0.660s
sys	0m0.392s
-bash-4.1$ time mysql -h 127.0.0.1 -P4007 -umassi -pmassi information_schema -q -e "select * from engines a, engines b, engines c, engines d, engines e;" > /dev/null

real	0m0.980s
user	0m0.944s
sys	0m0.027s
2014-09-16 12:37:57 +01:00
8b5b4a17fe Merge from Z3
Merge from Z3
2014-09-11 12:51:16 +02:00
7245d1baa1 blr branch merge
blr branch merge
2014-09-11 12:20:42 +02:00
27e0ccd641 Fix for bug 447 - Error log flooded with same warnings if there are no slaves present 2014-09-11 11:03:53 +01:00
1154b25bff Fixed typo which made use_sql_variables_in paramter ineffective. 2014-09-10 21:20:12 +03:00
f9aece5113 Remove queuing that is no longer required
Fixed bug in mysql_backend.c that lost up to 4 bytes of data in rare
circumstances.
2014-09-10 15:51:53 +01:00
025f920ddb Replaced RWSplit parameters write_ses_variables_to_all and read_ses_variables_from_slaves with
use_sql_variables_in=[master|all] (default all)
Modified MaxScale Configuration And Usage Scenarios-Z3.pdf and MaxScale_template.cnf accordingly.
Fixed typo in server/modules/routing/readwritesplit/test/rwsplit.sh
2014-09-10 11:32:53 +03:00
ba6ad3e240 Added description of new rwsplit variables, read_ses_variables_from_slaves and write_ses_variables_to_all to Configuration document.
Added description of new rwsplit variables, read_ses_variables_from_slaves and write_ses_variables_to_all to MaxScale_template.cnf
readwritesplit.h:Set default values for write_ses_variables_to_all=true, and read_ses_variables_from_slaves=false
2014-09-08 22:18:00 +03:00
92889ad216 config.c: Added configuration parameter processing for read_ses_variables_from_slaves and for write_ses_variables_to_all . The values are read from config file, qualified and stored to service. Values are loaded when instance is created. This is limitation in current implementation and will change so that configuration is dynamically changeable. 2014-09-07 23:48:16 +03:00
c273988e51 Fixed for EPOLLHUP events
Possible double free in maxscaled on close

binlog router debugging/tracing
2014-09-05 17:29:17 +01:00
0630b2ff46 Merge branch 'Z3' of https://github.com/skysql/MaxScale into Z3
poll.c:poll_add_dcb: Addded EPOLLHUP back to flag set.
2014-09-04 12:29:06 +03:00
5e5c59d322 Merge branch 'MAX-237' into Z3 2014-09-03 17:50:56 +03:00
a17e584adb Merge remote-tracking branch 'origin/Z3' into MAX-237
Conflicts:
	query_classifier/query_classifier.cc
	query_classifier/query_classifier.h
	server/modules/routing/readwritesplit/readwritesplit.c
2014-09-01 11:05:10 +03:00
7629c455a6 partial implementation 2014-08-30 08:27:05 +03:00