Commit Graph

498 Commits

Author SHA1 Message Date
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
78b363aec7 Enhance buffer handling by changing gwbuf_free to free the whole list of buffers (although it could contain only one buffer). Add gwbuf_count to give number of buffers in a buffer list (for convenience in debugging). Add gwbuf_alloc_and_load to simplify putting data into a new buffer. 2016-01-08 13:47:34 +00:00
4ef89d213b MXS-463: Filepaths are now properly formatted for printing
The various global directory setter functions now process the input they receive
and remove redundant and trailing forward slashes from the directory paths.
2016-01-04 18:40:00 +02:00
8d969aadd1 Changed default number of threads and added auto value.
Changed default number of threads to 1 instead of autoconfigured value and
added a new `auto` variable which enables autoconfiguration of thread count.

The number of threads used when autoconfiguratio fails was changed from 4 to 1.

The default value of using N threads where N is the number of CPU cores was
not optimal as the possibility of rescheduling was higher the more utility
threads there were. Due to this, N-1 is deemed to be the better autoconfigured
value for thread count.
2015-12-15 15:08:43 +02:00
d054cb1595 Correct logic errors in bitmask_set and extend initial/increment size to reduce likelihood of any risk of realloc failure. 2015-12-01 15:16:12 +00:00
74bb291961 Reindent server/core/monitor.c 2015-12-01 09:40:07 +02:00
fbecf128dd Reindent server/core/users.c 2015-12-01 09:29:52 +02:00
8bbc3e8086 Reindent server/core/thread.c 2015-12-01 09:29:03 +02:00
a95be21266 Reindent of server/core/spinlock.c 2015-12-01 09:28:19 +02:00
15df33a93f Reindent server/core/session.c 2015-12-01 09:26:26 +02:00
8601068dc2 Reindent server/core/service.c 2015-11-30 21:25:10 +02:00
ed06d4f14c Reindent server/core/server.c 2015-11-30 19:47:29 +02:00
0aa38cad4c Reindented server/core/resultset.c 2015-11-30 18:58:43 +02:00
6c401b9085 Reindent server/core/poll.c 2015-11-30 18:57:19 +02:00
c0615408aa Reindented server/core/modutil.c 2015-11-30 18:53:42 +02:00
17eb80072f Reindent server/core/secrets.c 2015-11-30 18:48:14 +02:00
233f50f3e6 Reindent server/core/random_jkiss.c 2015-11-30 16:04:18 +02:00
72dd159f98 Reindented server/core/memlog.c 2015-11-30 15:18:51 +02:00
3189a47fc5 Reindented server/core/housekeeper.c 2015-11-30 15:16:44 +02:00
486f724dc1 Reindented server/core/hint.c 2015-11-30 14:10:15 +02:00
255a5b53c1 Reindented server/core/hashtable.c 2015-11-30 13:54:46 +02:00
26d1cf0c1f Reindented server/core/gw_utils.c 2015-11-30 13:53:52 +02:00
9482ccb8c6 Reindented server/core/gwbitmask.c 2015-11-30 13:41:32 +02:00
20c4a0aa67 Reindented server/core/filter.c 2015-11-30 13:40:11 +02:00
bd94d8967a Reindented server/core/externcmd.[c|h]
Reindented server/core/externcmd.[c|h] and added copyright
message.
2015-11-30 12:42:49 +02:00
2afe60dd0e Reindent server/core/dcb.c 2015-11-30 12:42:13 +02:00
17760bb3e6 Reindent server/core/buffer.c 2015-11-30 12:38:53 +02:00
f6e8662933 Reindent server/core/adminusers.c 2015-11-30 10:56:38 +02:00
6f737d9484 Reindent server/core/atomic.c 2015-11-30 10:56:38 +02:00
5fa3ef8236 Allow logging to shared memory to be enabled in config file.
Earlier, by default, the error and message logfiles were written to
the filesystem and trace and debug logfiles to shared memory. Now,
with just one log-file the default must be the file-system. However,
if info and debug messages are logged, then the filesystem will
become a bottle-neck.

A reasonable approach is then as follows (in the config file)

syslog=true
maxlog=false
log_to_shm=true

With this set, the maxlog file will be created to shared memory, but
nothing will be written to it, since it is disabled. However, if there
is a need to investigate something, then a dba can from maxadmin turn
on maxlog logging and also enable info and debug messages. That is, it
will be possible to enable debugging output without restarting maxscale.

Incidentally, the way the config file and command line arguments are
handled should be rewritten. Currently, it is a mess.
2015-11-29 21:03:05 +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
dcf0d4ef4b Merge remote-tracking branch 'origin/MXS-472a' into develop 2015-11-25 10:42:52 +00:00
1af89298b9 Changes to Galera monitoring logic and tidying up following code review. 2015-11-24 10:08:07 +00: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
ece53a8ac5 Fix Galera monitor problem with leaving wrong status for significant periods; change warning message from logging as warning instead of notice. 2015-11-20 10:15:13 +00:00
a58b25d6c3 Fix mistakes 2015-11-19 15:51:18 +00:00
e7a30a7944 Overhaul monitor_common functions and move into monitor.c 2015-11-19 15:40:43 +00:00
41d26b5b73 Failure to load filters is now a configuration error
When a filter module is not found or the instance creation fails, this is considered
a fatal error and MaxScale will not start. If a failure occurs when the configuration
is being reloaded, the service will not use filters and an error will be logged.
2015-11-17 12:04:47 +02:00
40dc49c887 Filters are now loaded and created at startup
Previously filter instances were created when the first session was made. This
caused filter configuration errors to be noticed only after MaxScale was successfully
started. Now filters are loaded and the instance is created when a service applies its filters.
2015-11-16 13:31:33 +02:00
6b88b6b17f Merge branch 'develop' into MXS-329-develop-20151111 2015-11-13 07:48:59 +02:00
c7a329e43e Log: skygw_logmanager_init renamed to mxs_log_init.
skygw_logmanager_init renamed to mxs_log_init and skygw_logmanager_done
renamed to mxs_log_finish. skygw_logmanager_exit removed alltogether as
all it did was to call skygw_logmanager_done. That appears to have been
a source for confusion as in many places a call to skygw_logmanager_done
was followed by a call to skygw_logmanager_exit. In addition, the function
skygw_log_done was removed from the header, since it lacked an
implementation.
2015-11-12 16:06:44 +02:00
5efd564573 Fix to MXS-288: https://mariadb.atlassian.net/browse/MXS-288 Added MySQL 5.7 authentication
The change to the mysql.user table in MySQL 5.7 caused MaxScale to stop
working with it. This commit adds functionality that checks which version of
the user data query should be made. It also moves common code related to
server version strings to server.c
2015-11-12 15:24:27 +02:00
2d600868f5 Added argument substitution to monitor scripts 2015-11-11 21:19:07 +02:00
466224b316 Moved common monitor code to externcmd.c
File existence and permission checks are now done in externcmd_can_execute
2015-11-11 21:19:07 +02:00
d56843835c Cleaned up externcmd_allocate and externcmd_free 2015-11-11 21:19:07 +02:00
9ab5326960 Fix to MXS-438: https://mariadb.atlassian.net/browse/MXS-438
Maxinfo now supports the shutdown command which shuts down a service, monitor
or MaxScale itself and the restart command which restarts a stopped monitor
or service.
2015-11-11 18:59:39 +02:00
3ea55e3b50 Fix to MXS-437: https://mariadb.atlassian.net/browse/MXS-437
Maxinfo now allows users to flush logs and change the server status
through the MySQL interface.
2015-11-11 18:57:19 +02:00
30d1fc66b7 getCapabilities no longer takes arguments and returns an int. 2015-11-11 18:14:03 +02:00
8363673be6 Added number of inserted elements to hashtable
Added tracking of the number of inserted elements to the hashtable.
Also added utility function to get the size of the hashtable.
2015-11-11 17:57:35 +02:00