Johan Wikman
160bbb70ee
MXS-251: strerror
...
Replaces all calls to strerror with calls to strerror_r. The former
is non-thread safe while the latter is.
2015-09-05 15:52:13 +03:00
Martin Brampton
087c2fca46
Block out new test for the time being.
2015-08-23 10:09:42 +01:00
Martin Brampton
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
Martin Brampton
53c3cc4b41
Fix mistake; tidy format.
2015-08-22 19:14:40 +01:00
Martin Brampton
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
counterpoint
38f78c7239
Fix possible threading problem.
2015-08-19 17:23:49 +01:00
Markus Makela
98ab399e6e
Changed sprintf calls to snprintf calls and fixed compiler warnings.
2015-08-18 10:50:48 +03:00
counterpoint
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
Markus Makela
78eab19c62
Fixed compiler warnings.
2015-07-14 17:13:09 +03:00
Markus Makela
3992f262ca
Fixed Coverity defects
2015-07-14 16:17:50 +03:00
counterpoint
3ddbe47f8b
Minor tidy up, including removing obsolete MUTEX_BLOCK.
2015-07-13 14:32:54 +01:00
Markus Makela
ef6728344e
Fixed failures to close cloned DCBs.
2015-07-13 13:11:43 +03:00
counterpoint
77db46359e
Change poll control failures to use SIGABRT rather than assert(false).
2015-07-08 08:52:19 +01:00
counterpoint
4c8aa02c31
Finalise comments; change abort from assert(false) to raise(SIGABRT).
2015-07-07 16:57:13 +01:00
counterpoint
be789855ee
Add lines to revision history.
2015-07-07 16:57:12 +01:00
counterpoint
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
counterpoint
77d374cd52
Fix mistake.
2015-07-07 16:57:12 +01:00
counterpoint
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
counterpoint
a72f462e2d
Fixes for MXS-196 and other related problems.
2015-07-07 16:57:12 +01:00
Markus Makela
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
Markus Makela
04b969efaa
Fixed poll.c include with old header name.
2015-03-12 07:39:39 +02:00
Markus Makela
63d83cd85d
Monitor API 2.0.0 implemented.
2015-03-11 15:18:55 +02:00
Markus Makela
880adca73e
Merge branch 'develop' into MAX-324
2015-03-05 10:45:48 +02:00
Markus Makela
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
Mark Riddoch
a022775342
Addition of show eventtimes and /events/times URL to maxinfo
2015-02-20 11:53:47 +00:00
Mark Riddoch
8eb14235d1
Addition of DCB and Poll statistics in show status output
2015-02-20 10:05:50 +00:00
Markus Makela
a2bff1dcea
Merge branch 'develop' into MAX-324
2015-02-16 14:58:35 +02:00
Mark Riddoch
9dfa4378b4
Merge branch 'develop' of https://github.com/mariadb-corporation/MaxScale into develop
2015-02-16 09:21:38 +00:00
Mark Riddoch
d7da8c5297
Code cleanup
2015-02-16 09:21:11 +00:00
Hartmut Holzgraefe
617f44c9c9
use intptr_t type for pointer->integer conversion so that int <-> pointer sizes match
2015-02-14 16:39:05 +01:00
Markus Makela
9177b6bcd3
Merge branch 'develop' into MAX-324
...
Conflicts:
query_classifier/query_classifier.h
2015-01-13 06:34:22 +02:00
VilhoRaatikka
333f79f4db
Commented session id logging.
2015-01-12 14:44:53 +02:00
Markus Makela
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
VilhoRaatikka
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
VilhoRaatikka
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
VilhoRaatikka
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
Mark Riddoch
5fa87776b0
Fixes for Coverity bugs
2014-11-20 16:04:22 +00:00
Markus Makela
a65b9fa8b3
Fixes to Coverity defects: 72662 82143 82144 82145 82348 82349
2014-11-20 06:44:43 +02:00
Mark Riddoch
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
VilhoRaatikka
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
VilhoRaatikka
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
VilhoRaatikka
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
VilhoRaatikka
9a5168c3e8
Put errors ganerating code behind FAKE_CODE macro, which is not defined by default in any build.
2014-11-10 15:22:08 +02:00
VilhoRaatikka
6ed8836b15
dcb.c:dcb_close prevent redundant execution of dcb_close for one DCB
2014-11-03 22:07:54 +02:00
VilhoRaatikka
60536f622e
Fix to bug #590 , http://bugs.mariadb.com/show_bug.cgi?id=590
...
Added function poll.c:poll_add_epollin_event_to_dcb which adds given event and related GWBUF to given DCB. The DCB is then added to event queue list so that its even becomes executed as soon as any of the threads start to process events next time.
The problem solved is case where COM_CHANGE_USER failed due to authentication failure. An error should be sent to the client but it was sent once per failed backend authentication instead of just once.
Thread which failed in authentication bypassed router and thus replies weren't filtered out. Solution adds an event and a GWBUF including error message to DCB and the DCB is then added to event queue. Thus the error message appeares like it was an incoming event and becomes processed properly.
An addition was made to mysql_backend.c:gw_read_backend_event so that self-generated event can be processed. Even if socket read doesn't manage to read anything, function proceeds if there is enough data in DCB's readqueue.
Fix ti bug #602 , http://bugs.mariadb.com/show_bug.cgi?id=602
Added function sescmd_response_complete which checks if the read data completes session command response packet(s). Function is called only if there's a sessoin command being executed.
2014-10-30 16:54:27 +02:00
Mark Riddoch
9e0a8a0eee
Addition of show eventstats
2014-10-23 13:38:46 +01:00
Mark Riddoch
70672e43a1
Addition of backoff process for master reconnect
...
Housekeeper task display
2014-10-23 10:46:55 +01:00
Mark Riddoch
e729a17fd4
Addition of new tuning parameters for epoll spins and wait time
2014-10-17 12:28:27 +01:00
Mark Riddoch
f459bdfe04
Add new command to view the event queue
...
Fixes to fake poll events to improve fairness
2014-10-17 08:36:32 +01:00
Markus Makela
ebb3b52fdb
Included the my_config.h header before any system headers if mysql headers were used.
2014-10-10 12:30:21 +03:00