Commit Graph

4121 Commits

Author SHA1 Message Date
c1c376b7ac MXS-2575: Fix REST-API error propagation
The errors are now correctly sent even with requests that upload data.
2019-06-24 15:15:47 +03:00
2f56264715 Preload mariadbbackend for unit tests
This should fix the failure of test_config2 and make server allocation
work.
2019-06-24 15:15:47 +03:00
a51e094cd5 Merge branch '2.2' into 2.3 2019-06-24 15:07:18 +03:00
7fb268f1a7 MXS-2575: Fix REST-API error propagation
The errors are now correctly sent even with requests that upload data.
2019-06-24 14:37:40 +03:00
24b575bb93 Print error if child process cannot access monitor script file 2019-06-24 12:22:25 +03:00
1cb13582ff Fix worker state debug assertion
Stopped workers will receive messages.
2019-06-24 11:03:50 +03:00
0b67ce1e82 Merge branch '2.3' into develop 2019-06-20 14:36:48 +03:00
805be70a78 Add more information to rwsplit info messages
The statement ID for all binary protocol statements and the error given to
handleError are now logged.
2019-06-20 14:27:03 +03:00
20f595d978 Merge branch '2.3' into develop 2019-06-20 13:00:13 +03:00
7673ee685d Distinguish stopped and finished workers
By having a separate FINISHED state and a STOPPED state, it is possible to
know at which point in the worker's lifetime an event is done. Posting of
messages before a worker is started is allowed but posting them after the
worker has stopped is not.

This fixes avrorouter related failures and all other failures that stem
from worker messages being ignored at startup.
2019-06-20 12:32:30 +03:00
1fbb57f9b2 Check if socket server is MaxScale service
We need to handle the case that a MaxScale service is used as a
server over Unix domain sockets.
2019-06-20 11:05:00 +03:00
aeebf941f6 Merge branch '2.3' into develop 2019-06-19 13:28:58 +03:00
52b7c23998 Use correct parameter set for listeners
The listener JSON used server parameters.
2019-06-19 12:44:45 +03:00
3d8475f8ed Merge branch '2.2' into 2.3 2019-06-19 12:37:23 +03:00
27fb397041 MXS-2547: Do shutdown on main worker
By stopping the REST API before the workers and moving the shutdown to the
same worker that handles REST API requests, we prevent the hang on
shutdown. This also makes the signal handler signal-safe.
2019-06-19 10:31:47 +03:00
69b3879357 MXS-2547: Don't post messages to stopped workers
If a worker has been stopped, tasks must not be executed on it. To prevent
this, the calling code should check whether the worker has been
stopped. This does not prevent the case where a message is successfully
posted to a worker but the worker is stopped before it processes it.
2019-06-19 10:31:47 +03:00
b7294a28af MXS-2547: Assert that workers aren't stopped
If a worker is stopped, none of the Worker::execute or post_message
methods should be called.
2019-06-19 10:31:47 +03:00
64d25a48bd Merge commit 'a60bd376108f71fccf40001c1496f32c11137fe4' into develop 2019-06-18 15:51:17 +03:00
6cbe9d1258 MXS-2550: Fix default module parameters
The parameters weren't processed when they were added from the module
defaults.
2019-06-18 07:06:51 +03:00
cd1b2e8748 Log server version when it changes
Knowing what the server version is can help rule out some
problems. Logging it whenever it changes also helps figure out when
upgrades took place.
2019-06-12 17:26:58 +03:00
7470a58a32 Fix release mode build failures
Fixed mxb_assert_message and one dcb_printf failure.
2019-06-12 12:15:47 +03:00
7fe18a0488 Add fatal signal handlers for unit tests
This way debug assertions print a full stacktrace for unit tests.
2019-06-11 21:38:47 +03:00
470968a296 Fix unit test failures
The new net_write_timeout value needed to be explicitly defined for the
tests.
2019-06-11 21:38:47 +03:00
6166da76ea Add arguments to mxb_assert_message
The macro can now be used to print runtime information in a printf-like
manner. This makes it easier to see exactly why an assertion has failed.
2019-06-11 21:30:45 +03:00
53606934a6 Merge branch '2.3' into develop 2019-06-11 16:35:26 +03:00
95606370c8 MXS-2551 Do not print deprecated parameters into serialized config files
In MaxScale, a "deprecated" parameter is not in use and can be ignored.
Leaving the parameters out of serialized configuration files avoids warning
messages.
2019-06-11 15:55:35 +03:00
04fdaf1fdb MXS-2556 Make config::Configuration aware of its object
The name of the object (i.e. the section name from the configuration
file), is now stored in the configuration object for that object.

That way, more contextual and hence morfe user friendly errors and
warnings can be generated.
2019-06-11 11:05:15 +03:00
68af4cb62e MXS-2556 Rename configure -> post_configure
Rename config::Configuration::configure() to
config::Configuration::post_configure(). Latter name makes it
unambiguously clear at what point the function is called.
2019-06-11 09:46:04 +03:00
a6b456dfbd MXS-2556 Add support for routers to new config mechanism 2019-06-11 09:46:04 +03:00
77197d2ce1 MXS-2556 Add Server type to new config mechanism
- Add test as well
- Sort test so that the types are tested in alphabetical order
2019-06-11 09:46:04 +03:00
b2f44cefe7 MXS-2556 Don't crash if authenticator not found 2019-06-11 09:46:04 +03:00
b50193a868 MXS-2512 Extend dbg_decode_response()
Now capable of decoding GWBUF containing multiple packets.
2019-06-11 09:44:27 +03:00
4efa9dbeea Remove maxscale/alloc.h
The remaining contents were moved to maxbase/alloc.h.
2019-06-10 14:11:25 +03:00
e078f95a42 MXS-1550 Add net_write_timeout paramater for service
net_write_timeout is used to timeout writes take too long.
2019-06-10 10:31:35 +03:00
655e5fab5b Move length-encoded integer/string functions to maxsql 2019-06-07 11:32:46 +03:00
5e03ff35eb Continue external command cleanup
Simplify serverlist creation code.
2019-06-07 11:30:44 +03:00
9fa2328feb Clean up external command argument substitution
Use a single function for checking match and for replacing.
2019-06-07 11:06:45 +03:00
1ba77b59e2 MXS-2548 Show correct monitor state in "maxadmin list monitors"
The code OR:d with 0.
2019-06-06 17:09:41 +03:00
ceb58d615e MXS-2540 Add monitor support to new config system
The configuration system needs to be aware of standard monitor
parameters.
2019-06-05 11:10:28 +03:00
4ed154d07f Create ExternalCmd during monitor configuration
The command object need not be recreated every time it's ran.
2019-06-04 14:55:09 +03:00
4b69156875 Simplify external command script substitution
The command script is now stored in string form. Substitution is performed
using normal string methods instead of regular expressions, since all used
substitutions are simple string replacements. Tokenization is performed after
substitution.
2019-06-04 14:55:09 +03:00
44d1b821c3 Merge branch '2.3' into develop 2019-06-03 13:54:55 +03:00
625741d8ba Remove unused fields from ExternalCmd
Also other cleanup.
2019-06-03 10:16:56 +03:00
e849bf261b Move ExternalCmd-functions to class methods 2019-06-03 10:16:56 +03:00
6d089e3283 Clear session commands in Backend::close
If a reconnection would take place, the old commands would get executed.
2019-05-31 14:01:15 +03:00
4e6ca33053 Add UBSAN flag to builds
The -DWITH_UBSAN flag enables the undefined behavior detection provided by
GCC.
2019-05-31 14:01:14 +03:00
2b3a9b2b57 Initialize MXS_SESSION::autocommit 2019-05-29 18:46:33 +03:00
21cdc4822b MXS-2483: Remove runtime enabling of TLS
TLS can no longer be enabled at runtime via maxadmin.
2019-05-28 14:34:50 +03:00
9443e99a17 MXS-2483: Separate JSON server creation from legacy code
The servers created via the REST API now use code separate from the
maxadmin interface. This removes the cumbersome requirement of having to
first create the server and then configure it. With this change, it is
possible to completely remove the ability to set the server SSL after
creation.
2019-05-28 14:34:50 +03:00
0e88aac497 Fix extract_parameters_from_json
The function would only work for string parameters.
2019-05-28 14:34:50 +03:00