6ed8836b15
dcb.c:dcb_close prevent redundant execution of dcb_close for one DCB
2014-11-03 22:07:54 +02:00
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
9e0a8a0eee
Addition of show eventstats
2014-10-23 13:38:46 +01:00
70672e43a1
Addition of backoff process for master reconnect
...
Housekeeper task display
2014-10-23 10:46:55 +01:00
e729a17fd4
Addition of new tuning parameters for epoll spins and wait time
2014-10-17 12:28:27 +01:00
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
ebb3b52fdb
Included the my_config.h header before any system headers if mysql headers were used.
2014-10-10 12:30:21 +03:00
57ad30f105
Fuller message in asserts.
2014-10-07 09:08:49 +01:00
8986a8042e
Addition of averages for event queue pending events
2014-10-03 14:35:19 +01:00
829a4bcbfa
Refinement of polling process
2014-10-02 17:19:18 +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
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
3430fc99d2
Shutdown fix in housekeeper
...
In memory logging in blr_master
2014-09-26 12:36:59 +01:00
0d19857a1f
Fix for debug build
2014-09-25 14:56:54 +01:00
2183dbcc28
Performance improvement
2014-09-25 12:00:19 +01:00
dff6fff888
Fixed missing return in process_pollq and added mysql.h to get rid of
...
warning about mysql_thread calls
2014-09-25 11:36:17 +01:00
3ac3a60229
Prevent epoll_wait call with a timeout if there are events in the queue to be processed
2014-09-25 11:10:30 +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
92ce8a47ba
Introduction of a new polling mechanism to make the thread usage more fair and avoid
...
having busy DCB's being able to block execution of events on less busy DCBs
2014-09-24 16:34:34 +01:00
7562d49a95
Addition rtdsc for tracing purposes
2014-09-23 22:09:36 +01:00
2c0b549b58
Merge branch 'release-1.0beta-refresh' of github.com:skysql/MaxScale into release-1.0beta-refresh
2014-09-23 12:04:37 +01:00
b12415c054
Fix to #537 , http://bugs.skysql.com/show_bug.cgi?id=537
...
mysql_thread_end was never called in this function
2014-09-23 12:33:30 +03:00
45f8585804
Fix to bug #549 , http://bugs.skysql.com/show_bug.cgi?id=549
...
Each monitor loops 10 times/second (sleep 100ms) and perform monitoring checks only when monitor's interval is spent. Monitors notice faster if the shutdown flag is set and thus overall shutdown is faster.
hint.c:added missing header
Changed interval from unsigned long to size_t which is guaranteed to be of same size also in windows (if possible).
2014-09-23 11:26:15 +03:00
a71971cf53
Make EPOLLRDHUP conditional to allow CentOS5 builds
2014-09-23 08:04:45 +01:00
2d2fc28b07
Addition of code to prevent multiple hangup's beign processed on the same
...
DCB
2014-09-19 11:40:16 +01:00
2402d55de6
Some general tidyup plus addition of code to block zombie processing
...
if epoll_wait returned multiple descriptors
2014-09-19 10:50:54 +01:00
0f3db1c091
First changes for fixing #548 , http://bugs.skysql.com/show_bug.cgi?id=548
...
dcb.c:dcb_process_zombies:added new parameter which tells what DCB the thread will use after calling dcb_process_zombies. Thus, processing that DCB is skipped.
readwritesplit.c:routeQuery:removed double free call for query buffer.
2014-09-17 18:02:44 +03:00
8b5b4a17fe
Merge from Z3
...
Merge from Z3
2014-09-11 12:51:16 +02: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
0fed5c2c5b
Fix to bug #510 , http://bugs.skysql.com/show_bug.cgi?id=510 , made every MaxScale thread to call mysql_thread_init() before entering poll_waitevents. Also main thread does this before starting services. Removed all calls to mysql_thread_init() and to mysql_thread_end() from elsewhere than from poll.c:poll_waitevents and from gateway.c:main
...
skygw_utils.cc: replace_literal: fixed memory leak
2014-09-01 19:37:31 +03:00
877442c941
Addition of periodic task execution via the housekeeper thread
...
Addition of 15, 5 and 1 minute load averages in poll
2014-08-29 16:53:05 +01:00
531dfd017c
Addition of thread data to commands
2014-08-29 11:24:58 +01:00
81e1dd8719
Merge branch 'develop' into blr
...
Add instrumentation
Remove mutexes
Improve gwbuf_append performance
Conflicts:
server/core/dcb.c
server/modules/protocol/mysql_backend.c
2014-08-28 11:41:26 +01:00
2963a8448b
Implement non-blocking alternative to mutexes for read serialisation
2014-06-10 17:59:49 +01:00
fda9b1c706
Merge branch 'develop' into blr
...
Conflicts:
server/core/dcb.c
server/modules/include/blr.h
server/modules/routing/binlog/STATUS
server/modules/routing/binlog/blr.c
server/modules/routing/binlog/blr_file.c
server/modules/routing/binlog/blr_master.c
server/modules/routing/binlog/blr_slave.c
2014-06-08 00:50:36 +01:00
13e95ffc53
Improved diagnostics
...
Added master reconnect on failure
Added EPOLLRDHUP events
2014-06-07 21:01:11 +01:00
7e6cb7afc2
Snapshot of failure tolerance changes.
...
Added a lot of logging to error, trace and message logs which should help the user to handle errors which can't be automatically resolved, like attempt to use nonexisting database.
2014-06-06 23:32:04 +03:00
70115d35c9
Fix to bug #438 http://bugs.skysql.com/show_bug.cgi?id=438
...
Fixed some compiler warnings, added header includes, return values etc.
2014-05-27 17:07:41 +03:00
c356b396a6
Merge branch 'SESvars' of https://github.com/skysql/MaxScale into SESvars
...
Conflicts:
server/core/dcb.c
server/core/poll.c
server/modules/include/mysql_client_server_protocol.h
server/modules/routing/readwritesplit/readwritesplit.c
2014-03-18 10:28:06 +02:00
9b833b9464
Added 'socket' to the parameter list and moved EPOLLERR and EPOLLHUP after processing of EPOLLIN and EPOLLOUT.
...
Added 'socket' to the parameter list and moved EPOLLERR and EPOLLHUP
after processing of EPOLLIN and EPOLLOUT.
2014-03-14 16:43:41 +01:00
a3f7eebdc9
Extended session command support to cover COM_CHANGE_USER, and COM_INIT_DB.
...
This implementation doesn't guarantee execution order between session commands and queries
if other backend server lags behind in session command execution.
In poll.c : moved processing of EPOLLERR and EPOLLHUP after processing of EPOLLIN and EPOLLOUT.
This ensures that COM_QUIT messages are read and routed forward before signals arrive (from local client/backend).
2014-03-14 13:25:37 +02:00
9b6ad904f6
MySQL authentication with user@host, resolved compile errors
...
MySQL authentication with user@host, resolved compile errors
2014-02-14 17:27:17 +01:00
97bc1ed042
Fixed comments to be compatible with doxygen
2013-12-13 19:11:10 +02:00
d403018fd9
Surrounded every log writing command with LOGIF macro, which tests if the given logfile id matches with those enabled. The comparison is done against local variable and expensive function call is avoided.
2013-12-12 16:14:33 +02:00
050ca7ac7e
Some fixes for doxygen generation
2013-11-25 10:12:08 +01:00
a30e2ab29b
Added back read and write mutex to dcb. Locks are acquired in poll.c before calling call-back functions. Additional locks efficiently hide memory corruption issue, which appears when readconn router is used without using those mutexes, with multiple parallel maxscale threads and intensive load.
2013-11-20 17:23:04 +02:00