5515c71988
Reapply MXS-504 changes subsequent to optimisation changes. Merge SSL processing into non-SSL processing so far as possible, correct usage of OpenSSL, simplify where possible.
2016-01-13 10:08:37 +00:00
fb5fdb17db
Switch bitmask_clear to be locking and offer bitmask_clear_without_spinlock for non-locking version, in response to review comments. Revert poll.c to use bitmask_clear (with locking) and amend dcb.c to use the non-locking version and to take advantage of the return of an indication of whether the whole bitmask is then clearn.
2016-01-08 13:47:34 +00:00
aa79e61aac
Various optimisations of bitmask processing. External change is that bitmask_clear() does not apply a spinlock, so must be called with exclusive access to the bitmask. This affects the call in shutdown processing in poll management. The call from DCB processing is safe because zombie processing has exclusive access to DCBs.
2016-01-08 13:47:34 +00:00
e3e8a59555
Allow hangup event also when EPOLLRDHUP is not available.
...
When generating a fake hangup event, EPOLLRDHUP is used if available,
otherwise EPOLLHUP. process_pollq(int) does the same thing both in the
case of EPOLLRDHUP and EPOLLHUP, so it seems this should work.
2015-12-08 10:14:10 +02:00
6c401b9085
Reindent server/core/poll.c
2015-11-30 18:57:19 +02:00
916ee5ff2a
Rename some log concepts
...
The mxs prefix is now uniformly used with all log components.
2015-11-26 17:34:53 +02:00
038877b8db
Fixed minor format errors and resource leaks
...
Some format strings used integer values for unsigned integers.
Memory and file descriptors leaked in some error conditions.
2015-11-25 12:43:49 +02:00
a8535f42af
Remove all traces of logfile_t
...
The earlier log file based approach for enabling and disabling
messages has now been completely replaced with the syslog priority
based approach.
Similarly as with log files before it is now possible to enable
and disable a log priority for a particular session, even though
it apparently has not been used much.
The local test-programs of the logging has got minimal attention
only to make them compile. They should get an overhaul as they did
not work before either.
2015-11-23 19:10:53 +02:00
910ddb99fd
Reset sessionid upon exit.
...
Since the sessionid is now unconditionally set, it also needs to
be unconditionally reset.
2015-11-23 18:44:38 +02:00
62b0e5fab0
Session info always copied to tls
...
Maxadmin earlier gave the impression that you could change whether
messages for different log files could be specifically enabled for
a session. In practice that was true only for trace messages as the
session id and the bitmask telling what logfiles are enabled, were
copied to thread local storage only as far as trace messages were
concered.
The code for setting that information in place is quit short and
efficient, so there is really no reason not to do that always.
This also means that it always will be possible to get your hands
on the session object if there is a need for that.
2015-11-23 18:14:46 +02:00
44df53d846
LOGIF and skygw_write_log removed from server/core/*.c
...
LOGIF and skygw_write_log removed from server/core/*.c and
replaced with calls to MXS_(ERROR|WARNING|NOTICE|INFO|DEBUG).
This is a mechanism change, no updating of the actual message
has been performed.
Currently this causes a very small performance hit, since the
check whether the priority is enabled or not is performed in
the function that is called and not before the function is called.
Once all LOGIFs and skygw_write_logs have been replaced, the
behaviour will be altered back to what it was.
2015-11-16 09:49:12 +02:00
2dcdab29b6
LOGIF_MAYBE macros cleaned away.
...
Used in few places and only obscured what was going on.
2015-11-14 22:28:17 +02:00
86dcd1cc0f
LOGIF_MAYBE macros cleaned away.
...
Used in few places and only obscured what was going on.
2015-11-14 21:51:27 +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
57f5dd15bc
Resolve problem of lingering backend database processes; alter MySQL monitor to insert fake events when backend server unavailable; fix problem with count of current connections.
2015-10-16 17:55:07 +01:00
88716c35fb
Various changes to block loopholes in different cases and tidy up.
2015-09-21 09:23:22 +01: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
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
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