Commit Graph

698 Commits

Author SHA1 Message Date
3e37f0d0f6 Fixed race condition on hashtable n_readers field 2014-12-19 15:54:05 +00:00
726f221113 Added debug log to session closing and related functions 2014-12-19 12:18:25 +02:00
552d3186eb Disabled fix to #642 for now. 2014-12-18 19:20:21 +02:00
ac97fcd764 Removed redundancy from error and message logs.
server.c: Added new member to SERVER->master_err_is_logged. It is used if server loses master status. It causes error log print in readwritesplit router's eror handling. Initial value is false and it is set always to false when server's status is set to master.
Added message log printing to mysql monitor, if master status changes to something else. It is not warning or error but only information which probably interests the user.

readwritesplit.c:Muted warnings and error printings in cases if slaves are not found if it is allowed to have a master only.
readwritesplit.c:Corrected error log printing in case where master lost its status. REdundant prints are removed.
2014-12-18 19:12:01 +02:00
494ac968e2 Fix candidate to bug #642, http://bugs.skysql.com/show_bug.cgi?id=652
If user only has a privileges to certain table, login with db still succeeds.

Removed invalid debug assertion from readwritesplit.c
2014-12-17 23:51:04 +02:00
a655e394ac Merge branch 'blr' into release-1.0GA
Conflicts:
	server/core/service.c
2014-12-16 15:44:19 +00:00
5ef7ddfe1f Bug 653 - Memory overwrite 2014-12-16 15:34:06 +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
8f570082eb poll.c:poll_add_event_to_dcb didn't update pollStats.evq_pending when added event became pending. That may cause threads to run in poll loop with minimal timeout infinitely. Added counter update. 2014-12-15 22:21:23 +02:00
04a92e40df Fixes to Coverity defects 84879 84878 72752 72742 2014-12-15 06:28:47 +02: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
c31f971999 Fix candidate for #645, http://bugs.skysql.com/show_bug.cgi?id=645 and #648, http://bugs.skysql.com/show_bug.cgi?id=648
If readwritesplit.c:routeQuery gets a GWBUF whose type is UNDEFINED, then each MySQL packet is extracted from input buffer and passed to new function, route_single_stmt. Each extracted packet is stored in separate GWBUF and added types GWBUF_TYPE_MYSQL and GWBUG_TYPE_SINGLE_STMT which makes it possible to execute session commands and process reply packets properly.

Code nedes still cleaning but this is for testing atm.
2014-12-13 01:55:40 +02:00
63def8d002 Fix to bug #644, http://bugs.mariadb.com/show_bug.cgi?id=644
Initialized the lock variable in gwbuf_clone
2014-12-11 15:28:41 +02:00
c75ba90f6f Fixes to Coverity defect 84478 and to 72759 which has reappeared. 2014-12-11 09:43:59 +02:00
89ccc7c927 Merge branch 'release-1.0GA' of https://github.com/mariadb-corporation/MaxScale into release-1.0GA 2014-12-10 18:06:48 +02:00
2a623c6ec3 Fixed a typo in config.c 2014-12-10 18:05:58 +02:00
0967a09b5c Added severity keyword to error log messages 2014-12-09 14:26:33 +02:00
26e3486966 Fix for router instance creation failure 2014-12-09 09:54:04 +00:00
8b51d4fee2 Fix to bug 640: http://bugs.mariadb.com/show_bug.cgi?id=640
Added a check for the case when createInstance returns NULL.
Added messages to error log if router instance creation fails or if the service fails to start for any reason.
2014-12-09 06:31:53 +02:00
5264a1abc9 Added function documentation, moved one non-error log entry to message log, cleaned up a bit. 2014-12-08 16:02:16 +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
de3b2db904 Merge branch 'release-1.0GA' of https://github.com/mariadb-corporation/MaxScale into release-1.0GA 2014-12-05 09:06:05 +00:00
2d4073267c Added support for a.%, a.%.% and a.b.%
Added support for a.%, a.%.% and a.b.% in dbusers.c
2014-12-04 19:01:17 +01:00
4db86a5520 Merge branch 'release-1.0GA' of https://github.com/mariadb-corporation/MaxScale into release-1.0GA 2014-12-04 16:57:57 +00:00
36aea7454f Updates for new logging definitions 2014-12-04 16:56:33 +00:00
84679a48ff Fixes to Coverity defects 84335 84336 84337 2014-12-04 10:13:41 +02:00
30c928c326 Switched to /dev/random instead of time(NULL) in secrets.c 2014-12-04 10:07:06 +02:00
1e2027f4dc Fixes to Coverity defects 83027 73421 72714 72671 72646 72642 2014-12-03 17:56:22 +02:00
fdb9c5e6dc Switch to thread safe versions of localtime and asctime 2014-12-03 09:53:17 +00:00
1e5bc37780 Use strtok_r rather than strtok 2014-12-03 09:33:55 +00:00
83f7203213 Fix to unreported bug which printed result of getsockopt even in case when there was no socket error. 2014-11-27 15:37:13 +02:00
d063df0f4a Update message 2014-11-26 11:10:59 +00:00
31f5017d6d Merge branch 'release-1.0GA' of https://github.com/mariadb-corporation/MaxScale into release-1.0GA 2014-11-26 11:04:48 +00:00
6ee9a84cef Updated error messages 2014-11-26 11:04:33 +00:00
398eee8ece Added a log message for mysql_old_password
Added a log message for mysql_old_password detection: user is not loaded
2014-11-26 11:44:38 +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
5fa87776b0 Fixes for Coverity bugs 2014-11-20 16:04:22 +00:00
69a1c5aaf5 Changed log messages for dousers
Changed log messages for dousers
2014-11-20 11:31:54 +01:00
a65b9fa8b3 Fixes to Coverity defects: 72662 82143 82144 82145 82348 82349 2014-11-20 06:44:43 +02:00
43ed77b52b Bug 515 Conditional arguemnt to gw_write 2014-11-19 16:43:21 +00:00
0e6fa09d7e Fixes for Coverity issues 2014-11-19 16:01:38 +00:00
97b730c2e0 Addition of signal handler for SIGUSR1 to rotate all log files 2014-11-19 15:16:48 +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
6cbbf7260f Improved logging and diagnostics 2014-11-19 10:49:40 +00:00
ed461d58e2 Moved messages to message log
Moved messages to message log and others printed only with DEBUG mode
compile setting
2014-11-19 11:36:44 +01:00
2556097a98 Added commands to debugcmd.c that enable and disable logs for a single session.
Added the session id to dprintAllSessions and dprintSession output.
2014-11-19 12:25:33 +02:00
fd11e6a7f5 Session-specific logging. Added functions
void session_enable_log(SESSION* ses, logfile_id_t id)
and
void session_disable_log(SESSION* ses, logfile_id_t id)

Which switch specific log type on/off if the log type in question is not generally enabled.

Each thread carries a thread-specific struct log_info_t which includes members for current session id and bitfield for enabled log types for the current session. That information is checked before actual log write functions are called.

Each file where session-specific logging is used, must include the following exports:

/** Defined in log_manager.cc */
extern int            lm_enabled_logfiles_bitmask;
extern size_t         log_ses_count[];
extern __thread log_info_t tls_log_info;
2014-11-19 00:08:59 +02:00
a30fc0c787 MAX-328, Add session identifier to trace log entries. Session id is given to session in session_alloc and stored to thread's local storage variable when thread picks a new event from epoll_wait. 2014-11-17 23:27:14 +02:00