Commit Graph

127 Commits

Author SHA1 Message Date
5338318900 Improve error message when DCB has no session pointer in poll loop. 2015-08-28 17:25:41 +01:00
70d82fd45e Fixed compilation problems. 2015-08-26 18:33:46 +03:00
72b301785b Complete implementation of error logging when no session pointer in DCB. 2015-08-25 12:25:36 +01:00
e7c74c39cf Fix bug in persistent connections; add code to check for DCB session pointer in poll loop before invoking processing. 2015-08-25 12:19:02 +01:00
8425deab18 Fixed bugs by moving setting of thread bit mask from polling to DCB closing, fixed other mistakes. 2015-08-25 11:46:25 +01:00
12922225b8 Remove redundant DCB state DCB_STATE_FREED, remove obsolete assertion from poll.c, tidy up. 2015-08-25 09:11:44 +01: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
5e2e2585ad Fix mistakes. 2015-08-23 16:43:07 +01:00
1baf693b02 First changes for lazy session creation. 2015-08-23 16:39:08 +01:00
087c2fca46 Block out new test for the time being. 2015-08-23 10:09:42 +01:00
6b2d90fc50 Add check so DCB can't be added to poll list without a linked session; small safety improvement in session; tidying. 2015-08-23 09:34:26 +01:00
53c3cc4b41 Fix mistake; tidy format. 2015-08-22 19:14:40 +01:00
139d4829a9 Further refinement of poll_remove_dcb function to ensure proper delayed release of a DCB that may be in the poll list and should only be destroyed after all threads have completed any operations on it; add comments describing implementation limitations in the bitmask processing. 2015-08-20 06:58:05 +01:00
38f78c7239 Fix possible threading problem. 2015-08-19 17:23:49 +01:00
98ab399e6e Changed sprintf calls to snprintf calls and fixed compiler warnings. 2015-08-18 10:50:48 +03:00
260f829046 Add blank line to start of Document Contents (link otherwise not rendered correctly by web site); move upgrade documents into their own directory; modify poll.c to fix problem relating to cloned DCBs. 2015-07-15 08:35:50 +01:00
78eab19c62 Fixed compiler warnings. 2015-07-14 17:13:09 +03:00
3992f262ca Fixed Coverity defects 2015-07-14 16:17:50 +03:00
3ddbe47f8b Minor tidy up, including removing obsolete MUTEX_BLOCK. 2015-07-13 14:32:54 +01:00
ef6728344e Fixed failures to close cloned DCBs. 2015-07-13 13:11:43 +03:00
77db46359e Change poll control failures to use SIGABRT rather than assert(false). 2015-07-08 08:52:19 +01:00
4c8aa02c31 Finalise comments; change abort from assert(false) to raise(SIGABRT). 2015-07-07 16:57:13 +01:00
be789855ee Add lines to revision history. 2015-07-07 16:57:12 +01:00
fffd8fb73a Unify DCB close processing to single function dcb_close. Remove dcb_add_to_zombieslist (incorporating logic into dcb_close). Alter logic so that DCB that is just allocated will still go to zombie list if dcb->fd is not closed. 2015-07-07 16:57:12 +01:00
77d374cd52 Fix mistake. 2015-07-07 16:57:12 +01:00
18a95eeb71 Simplify adding and removing DCBs from polling, improve error handling. Remove dcb_set_state functions as not adding value. 2015-07-07 16:57:12 +01:00
a72f462e2d Fixes for MXS-196 and other related problems. 2015-07-07 16:57:12 +01:00
e14b29baf9 Fix to MXS-212: https://mariadb.atlassian.net/browse/MXS-212
The listener DCB is now properly closed instead of just being removed from the poll set.
2015-06-21 12:51:54 +03:00
04b969efaa Fixed poll.c include with old header name. 2015-03-12 07:39:39 +02:00
63d83cd85d Monitor API 2.0.0 implemented. 2015-03-11 15:18:55 +02:00
880adca73e Merge branch 'develop' into MAX-324 2015-03-05 10:45:48 +02:00
1b0fd4576a Merge branch 'maxinfo' into develop
Conflicts:
	server/core/service.c
	server/core/session.c
	server/include/session.h
2015-03-04 11:33:00 +02:00
a022775342 Addition of show eventtimes and /events/times URL to maxinfo 2015-02-20 11:53:47 +00:00
8eb14235d1 Addition of DCB and Poll statistics in show status output 2015-02-20 10:05:50 +00:00
a2bff1dcea Merge branch 'develop' into MAX-324 2015-02-16 14:58:35 +02:00
9dfa4378b4 Merge branch 'develop' of https://github.com/mariadb-corporation/MaxScale into develop 2015-02-16 09:21:38 +00:00
d7da8c5297 Code cleanup 2015-02-16 09:21:11 +00:00
617f44c9c9 use intptr_t type for pointer->integer conversion so that int <-> pointer sizes match 2015-02-14 16:39:05 +01:00
9177b6bcd3 Merge branch 'develop' into MAX-324
Conflicts:
	query_classifier/query_classifier.h
2015-01-13 06:34:22 +02:00
333f79f4db Commented session id logging. 2015-01-12 14:44:53 +02:00
fed828eb29 Merge branch 'release-1.0GA' into MAX-324
Conflicts:
	server/MaxScale_template.cnf
	server/core/service.c
2015-01-06 04:45:30 +02: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
7fed679f40 poll.c:poll_add_event_to_dcb did not increase the pollStats.evq_pending counter which caused it to go negative, which, inturn caused all threads to spinloop with minimal timeout. 2014-12-15 22:09:23 +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
5fa87776b0 Fixes for Coverity bugs 2014-11-20 16:04:22 +00:00
a65b9fa8b3 Fixes to Coverity defects: 72662 82143 82144 82145 82348 82349 2014-11-20 06:44:43 +02: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
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
061fa62d29 Fixes to Coverity issues 77197 (mysql_common.c, dcb.c, mysql_client.c, skygw_debug.h), 72654 (poll.c), 72756 (mysql_backend.c), 72744 (mysql_backend.c), 77197 (mysql_common.c), 72746 (mysql_common.c), 72676 (mysql_common.c), 72705 (readwritesplit.c), 72697 (readwritesplit.c), 72652 (skygw_debug.h) 2014-11-11 14:10:06 +02:00