Commit Graph

393 Commits

Author SHA1 Message Date
a355e1beef Printf format checking added to logging function.
Printf format checking added to logging function and all
issues that were revealed by that fixed.
2015-11-16 12:40:49 +02:00
30d1fc66b7 getCapabilities no longer takes arguments and returns an int. 2015-11-11 18:14:03 +02:00
dee20fe077 Merge remote-tracking branch 'origin/develop' into MXS-329-develop-20151111
# Conflicts:
#	server/core/CMakeLists.txt
#	server/core/buffer.c
#	server/core/service.c
#	server/modules/filter/tee.c
#	server/modules/monitor/mysql_mon.c
#	server/modules/routing/binlog/blr.c
#	server/modules/routing/binlog/blr_slave.c
#	server/modules/routing/debugcmd.c
#	server/modules/routing/readwritesplit/readwritesplit.c
#	utils/skygw_utils.cc

- resolved.
2015-11-11 11:08:02 +00:00
834a88aeda Log variables moved to log_manager.h
The log manager variables lm_enabled_log_files_bitmask, log_ses_count
and tls_log_info that earlier were declared separately in every
c-file are now declared in the log_manager.h header.
2015-11-04 14:26:53 +02:00
0accf869de Fix to MXS-365: https://mariadb.atlassian.net/browse/MXS-365 Added tracking of LOAD DATA LOCAL INFILE
While a LOAD DATA LOCAL INFILE query is being executed, all queries will be sent to the master
and they will not be processed as normal packets.
2015-11-04 12:47:55 +02:00
d6230e68ef Moved warnings about session command history limits to message log. 2015-11-04 09:12:37 +02:00
5112d4118f Fix to MXS-409: https://mariadb.atlassian.net/browse/MXS-409
Prepared statements are sent to the master instead of all servers.

The planned functionality to store the types of the prepared statements was not implemented
and all executions of prepared statements are sent to the master. Because of this the preparations
should be all sent to the master server instead of sending them to all servers.
2015-10-19 09:01:58 +03:00
e38ea9d07d Correct missing return value. 2015-10-02 16:19:59 +01:00
4f316419c5 Merge branch 'develop' into MXS-329 2015-09-30 12:47:28 +03:00
638c2250c9 Fixed internal test suite. 2015-09-29 16:36:12 +03:00
96f76a1f2e Changed the way max_sescmd_history works and combined disable_sescmd_history and disable_slave_recovery.
Before these changes when max_sescmd_history was used the session
was closed when the limit was exceeded. With this change, when the
limit is exceeded the recovery of slaves and the session command history
are both disabled. This will allow the sessions to continue while still
keeping the old functionality of limited salve replacement.

The disable_sescmd_history and disable_slave_recovery parameters were combined
so that disabling the session command history will also disable slave recovery.
This way no harm can be done with disable_sescmd_history.
2015-09-29 12:03:22 +03:00
db0e2e881f Double free prevented.
routeQuery calls route_single_stmt, which requires the GWBUF to be
contiguous. Earlier it was made contiguous (if needed) in
route_single_stmt. However, since the process of making a GWBUF
contiguous causes the original buffer to be freed, this would lead
to a double free later in routeQuery that frees the passed buffer.

This is prevented now by making the buffer contiguous before calling
route_single_stmt.
2015-09-29 10:57:45 +03:00
2231d0870c Place checks in callback routines because DCB will not always contain a reference to a router session, and the associated data will be invalid in this case. 2015-09-25 12:17:18 +01:00
2dfb9e3c11 Merge branch 'develop' into MXS-329 2015-09-24 17:59:36 +03:00
561891aac5 Fix for double free, possible fix for bug601.
In the end of execute_sescmd_in_backend the buffer was consumed
in case the protocol function failed. Or actually if it returned
something else but 1.

In the case of mysql_backend, the buffer is always freed when
authorizing and either consumed or placed on the dcb writequeue
when the data is written.

That is, it is never ok to consume the buffer in this function.
The end-result is likely to be an abort.
2015-09-21 13:45:15 +03:00
88716c35fb Various changes to block loopholes in different cases and tidy up. 2015-09-21 09:23:22 +01:00
31c6666278 Ensure DCB for closing session does not become persistent; remove bref_was_not_in_use. 2015-09-17 14:38:56 +01:00
dc3b0b067b Revert the dcb_close changes in handleError. 2015-09-17 13:35:18 +01:00
1ad8e27c91 Try a different arrangement of DCB closures in handleError of read-write split. 2015-09-17 13:27:25 +01:00
357c4bcae5 Add to or take from persistent pool only if server is running; add conditions to DCB close in read-write handleError to check backend reference was in use. 2015-09-17 12:53:59 +01:00
583c9b62fe Close DCB in handleError only if it can be found in a backend reference. 2015-09-17 11:58:19 +01:00
30239f395a Fix bref when backend server fails, error message if fails. 2015-09-15 20:07:56 +01:00
fdbe070e80 Change abort to error message when read connection router finds mismatch between router client session DCB and given backend DCB; improve order of actions when closing DCB in read-write router. 2015-09-15 15:22:44 +01:00
535523f9d7 Added an upper limit to trace log message length for queries. 2015-09-11 14:29:58 +03:00
cfeaf7d6e9 Merge remote-tracking branch 'origin/develop' into MXS-329
Conflicts:
	server/core/session.c
2015-09-10 13:07:27 +01:00
f6916a23bd Move responsibility for closing DCB on error to router error handling. Check that routers remove or disable links to closed DCB. 2015-09-09 09:33:00 +01:00
986c918d52 Remove ERRACT_RESET action from router error handler; remove sole call from mysql_client. Correct comments on parameters for router error handlers. 2015-09-09 08:31:59 +01:00
70a7a5f2f6 Fix to MXS-328: https://mariadb.atlassian.net/browse/MXS-328
Removed gwbuf_free when the write fails.
2015-08-27 09:16:00 +03:00
b3be72022c Fixed use_sql_variables_in=master not working. 2015-08-25 21:53:54 +03:00
37ac158791 Changes to try to eliminate setting dcb->session to NULL with risk of crashing system. 2015-08-24 12:12:43 +01:00
5adae0ff3b Added missing return value. 2015-08-23 20:46:16 +03:00
f014598d39 Added NULL checks. 2015-08-21 17:42:03 +03:00
3f26c306c5 Added more function parameter checks. 2015-08-18 22:19:26 +03:00
eac31b2618 Added master/slave percentage to readwritesplit diagnostic output. 2015-08-17 07:59:40 +03:00
a9e7eee718 Added missing spinlock calls to temporary table checks. 2015-08-14 20:43:01 +03:00
65bb80a3f1 Added more NULL checks to temporary table functions in readwritesplit. 2015-08-13 16:09:35 +03:00
a74ed87d07 Removed redundant linking of the utils library. 2015-08-10 10:40:00 +03:00
100f8ebd66 Removed unnecessary memory allocation. 2015-08-03 20:02:13 +03:00
086160b82d Added missing initialization of value. 2015-07-23 18:06:12 +03:00
e645007d3f Fixed empty packets being mishandled. 2015-07-22 16:49:47 +03:00
7363343499 Fixed dcb_write failing when the cause was EAGAIN or EWOULDBLOCK. 2015-07-22 15:34:51 +03:00
19d9c9982f Fixed session commands being executed multiple times. 2015-07-22 14:39:18 +03:00
b756690123 Merge branch 'release-1.2' into develop 2015-07-15 11:38:27 +03:00
124ad82de4 Small fix to readwritesplit session command handling. 2015-07-15 11:02:59 +03:00
78eab19c62 Fixed compiler warnings. 2015-07-14 17:13:09 +03:00
6497350ab7 Merge branch 'release-1.2' into develop
Conflicts:
	server/core/adminusers.c
	server/modules/protocol/mysql_client.c
2015-07-11 17:12:48 +03:00
ba417ef633 Merge remote-tracking branch 'origin/develop' into MXS-122
Conflicts:
	server/core/dcb.c
2015-07-08 14:54:22 +01:00
10d690273d Resolve compiler warnings 2015-07-08 11:35:41 +01:00
fb09cbf100 Fixed queries being routed when the session is already closing. 2015-07-07 13:15:23 +03:00
c2e51f2e98 Fix to MXS-223: https://mariadb.atlassian.net/browse/MXS-223
Added a temporary buffer to prevent losing the pointer to the cloned buffer when dcb->func.write fails.
2015-07-07 08:16:29 +03:00