Commit Graph

2066 Commits

Author SHA1 Message Date
334e71b079 Initialize random number generator in main
The random number generator can be initialized when MaxScale's other
systems are being initialized. This removes the need to initialized it
when the function is used for the first time.
2017-02-10 13:02:39 +02:00
fb21b99983 Fix DATE and DATETIME months
The month values for DATE and DATETIME were off by one.
2017-02-09 16:50:14 +02:00
d76be99cc5 Improve error message
A parameter may be wrong because the parameter name is wrong or
the value of the parameter is wrong. That needs to be reflected in
the error message.
2017-02-09 15:02:34 +02:00
ce5cd69eb3 Remove unused locks and variables
Removed unused spinlocks from DCBs, sessions and the MySQL protocol
structs. They were used in a context where only one thread has access to
the structure.

Removed unused member variables from DCBs.
2017-02-08 15:31:17 +02:00
517ecd9a12 Remove unnecessary spinlocks from random_jkiss
Removing the locks will increase the randomness of the random number
generation by introducing race conditions into the code.
2017-02-08 14:39:16 +02:00
a6698c6f07 Merge branch '2.1.0' into 2.1 2017-02-08 09:30:34 +02:00
67888f3596 Merge branch '2.0' into 2.1.0 2017-02-08 09:27:00 +02:00
906a42d9a8 Use dcb_foreach inside dcb.c
All DCB listing code should use dcb_foreach to list them.
2017-02-07 10:21:58 +02:00
e3bed424ea MXS-1123: Fix connection_timeout causing constant disconnections
In a configuration with multiple services, one with connection_timeout and
others without it, the connections to non-connection_timeout services
would get immediately closed due to integer overflow.
2017-02-06 23:03:57 +02:00
7c5e326dd5 Remove listing of persisted DCBs
As the DCBs are "owned" by threads and are handled without locks, no
cross-thread access to those DCBs should be done. Due to this, the show
persistent command for maxadmin has to be changed to show only the size of
the pool.
2017-02-06 10:29:10 +02:00
869e6ac950 Remove useless maxadmin commands
The commands did nothing.
2017-02-06 10:29:10 +02:00
e64a641bcd Merge branch '2.0' into develop 2017-02-01 09:35:13 +02:00
4e50f3e0cd Fix MXS_MODULE_PARAM_SIZE handling 2017-01-30 14:23:54 +02:00
1f9b18e3bc Split secrets.h to public and core + miscellaneous cleanup
Also, changed some function names to this_style from thisStyle. More of
this in later commits.
2017-01-27 15:33:52 +02:00
6cc205dafa Remove redefinition of QUEUE_CONFIG
Causes compile to fail on Centos 7.
2017-01-27 15:22:54 +02:00
6f24502e14 Fix extra space in list services output
The output is now consistent.
2017-01-27 12:19:27 +02:00
89f456840c Add monitor parameter to services
Services now accept a monitor as a source for servers. This removes the
need to redundantly list the same servers parameters in multiple places.
2017-01-27 12:19:27 +02:00
3b716bc707 Split queuemanager.h to public and core headers
Almost everything was moved to core.
2017-01-26 17:05:17 +02:00
74225daf46 Remove memlog and rdtsc
Neither of these were actively used, so they and any associated tests
were removed.
2017-01-26 13:16:51 +02:00
8d07604436 Split maxscale.h to public and private parts
This header defines some general functions and maxscale main() return
values. Most of it is still public, but there were some functions
which were moved to a core header.
2017-01-26 11:17:25 +02:00
aa8851fbe1 Remove listmanager
The file wasn't used, so any traces of listmanager.h or .c have been
erased.
2017-01-25 16:11:12 +02:00
7d51864402 Clean config.h some more
Moved some typedefs to router.h and server.h, changed a few
constants to these enums. Renamed some types in config.h to
remove "Gateway".

There are still some functions in the public header which are
only used in core, but they seem to fit the theme of public functions
so were not moved.
2017-01-25 16:05:51 +02:00
c77bb502e9 Store transaction type bit on transaction end
When the transaction ends, it's good to know what type of a transaction
just ended. Currently, this will be used by readwritesplit to detect when
a read-only transaction ends.
2017-01-24 20:36:39 +02:00
81be935fa9 Track transaction end as well as start
The COMMIT and ROLLBACK are now detected. This can be used to route the
trailing end of a transaction to a specific server.
2017-01-24 20:36:39 +02:00
fe1863bb49 Remove bitmask.h & .c, since the container is no longer used 2017-01-24 14:28:28 +02:00
b187afdcf4 Move config_runtime.h and externcmd.h to core
+ some cleanup
2017-01-24 13:05:21 +02:00
641896872e Rename GW_AUTHENTICATOR and GW_BITMASK + cleanup 2017-01-24 10:03:36 +02:00
9430da94b9 Further cleanup of monitor headers 2017-01-23 14:16:34 +02:00
7723641687 Ignore relay master and external slave state changes
When the relay master or external slave states change, they should be
ignored in the current implementation. When the relay master and slave of
external master events are added, the events can be enabled.
2017-01-23 13:38:56 +02:00
105f626e76 IEC prefixes are matched case-insetensively
If the case of the initial character does not matter, then the case
of the following 'i' should not matter either.
2017-01-23 10:11:26 +02:00
8cffa4ad58 Divide poll.h to core and public headers
Also some cleanup of other headers.
2017-01-20 17:15:27 +02:00
4ee7f4c91d Add some extra debug assertions
The debug assertions help catch false positives in server state change
logic.
2017-01-20 16:57:04 +02:00
6dc6d6280a Rename some .c-files, removing gw-prefix
May require reconfiguring the build. Some "gw":s are still
remaining, at least in test files.
2017-01-20 12:55:52 +02:00
6e38276a20 Rename files, removing "gw"-prefix
Also gwdirs.h.in -> paths.h.in
2017-01-20 12:55:52 +02:00
568239d2b5 Ignore auxiliary server status bits for state changes
The auxiliary status bits for the server were treated as if they changed
the real state of the server. The stale status bits don't affect the real
state of the server so they should be ignored when monitors check for
state changes in servers.
2017-01-20 09:10:44 +02:00
dbeb208a5c Remove unnecessary function from header
The function was only used in one place.

Also added a debug assertion for the monitor event detection mechanism.
2017-01-19 16:03:05 +02:00
eff34b91fb Move modules.h to core/maxscale
Also remove some unnecessary includes + cleanup
2017-01-19 15:53:25 +02:00
53c5b475ad More cleanup of monitor.h
Move some more functions into core header + miscellaneous cleanup
2017-01-19 15:32:40 +02:00
02a8f7492e Divide session.h to internal and interface headers
Definitions and function used by core are in
server/core/maxscale/session.h
Definitions and function used by plugins are in
include/maxscale/session.h
2017-01-19 15:19:40 +02:00
4df3ec501a Remove extra %s in log message
The %s was added twice in two different places.
2017-01-19 14:48:54 +02:00
624d91aeca Log a message when a SSL listener is created
Seeing the type of the listener that was created helps to analyze the
actions done at runtime.
2017-01-19 14:27:14 +02:00
7ed7f972b1 Divide monitor.h to internal and interface headers similar to filter.h
Definitions and function used by core are in
server/core/maxscale/monitor.h
Definitions and function used by plugins are in
include/maxscale/monitor.h
2017-01-19 09:50:48 +02:00
3793f685ac Store DATETIME correctly in avrorouter
DATETIME was stored as a raw year value when it should've been stored as
the raw year value minus 1900.
2017-01-19 08:57:15 +02:00
00f77bbe69 Fix some leftovers from the SESSION->MXS_SESSION and related renames
Renames only.
2017-01-18 11:50:52 +02:00
16a76fcd28 Rename qc_get_type() to qc_get_type_mask()
To make it plain that it is a mask that is returned and not a
specific value from the enum qc_query_type_t.
2017-01-18 08:34:53 +02:00
fb771c8a2e Rename public types and constants in session.h
Preparing to split session.h into module and core sections.
2017-01-17 16:30:14 +02:00
680401cf8e Rename public types and constants in monitor.h
Preparing to split monitor.h into module and core sections. Also
changed a few comments in monitor.h.
2017-01-17 15:47:13 +02:00
0b6b9c3d81 Format core source code and headers
Formatted core source code and headers with Astyle.
2017-01-17 14:47:50 +02:00
c59711d04c Add test for new module command options
The tests test the matching of domain names to module names.
2017-01-17 10:47:44 +02:00
1f07adaf0f Log commit ID for debug builds
Logging the commit ID should help identify which commit was used for which
log file when tests are run.
2017-01-17 10:47:43 +02:00