Commit Graph

5630 Commits

Author SHA1 Message Date
18a3aa5e33 Added missing newlines to all files
This caused build errors some systems, namely RHEL 5.
2016-03-08 14:48:17 +02:00
98a179a036 Updated documentation about new grants required by MaxScale
The documentation now mentions the additional SELECT privileges that are needed
on the `mysql.tables_priv` table.
2016-03-08 10:35:36 +02:00
0e718e5442 Removed FindLua.cmake because it isn't a self-contained module
The FindLua.cmake requires other modules provided by newer CMake installations
so including just this file is not useful. The correct way to fix this
build failure is to update the CMake to a newer version.
2016-03-08 10:35:36 +02:00
44d9929f3c Updated documentation about new grants required by MaxScale
The documentation now mentions the additional SELECT privileges that are needed
on the `mysql.tables_priv` table.
2016-03-08 10:35:36 +02:00
fd34cd4014 Fixed luafilter build failures
The luafilter referred to the old session client DCB name and linked against
log_manager and utils but not maxscale-common.
2016-03-08 10:35:36 +02:00
3973ba36be Simplified tee filter packet handling logic
Inverting the default action of not routing packets to always routing packets
makes the code simpler to understand. Removing some of the not so useful debug
logging also makes the code more readable and easier to understand.
2016-03-07 16:21:48 +02:00
7aab966573 Remove mysql prefix.
Now monitor.c includes <mysqld_error.h> and not <mysql/mysqld_error.h>.
The latter can not be found from connector-c.
2016-03-07 16:00:27 +02:00
e8c2b27c27 Remove qc_pp
There will not be a plugin process.
2016-03-07 12:19:51 +02:00
60714135c4 Merge branch 'develop-MXS-544-merge' into develop 2016-03-07 10:17:17 +02:00
3cbfb6821b Cleaned up SIGTERM and SIGINT handlers
Changed fprintf to write since it is signal safe.
2016-03-07 10:11:50 +02:00
9b8b7ee576 Added support for system PCRE2
This will allow system PCRE2 to be used instead of always using the bundled one.
2016-03-07 09:24:40 +02:00
7bae03f3b8 Added missing PCRE link flags to binlogrouter
MariaDB 10.0 might require it to be linked against system PCRE. This will allow
the binlogrouter to be built with MariaDB 10.0 embedded libraries.
2016-03-05 06:23:35 +02:00
f0956276ae Fixed FindMariaDBConnector.cmake failing even if connector is installed
This will remove the need to build the connector if it already exists as
a system library.
2016-03-05 06:04:36 +02:00
609912ae90 Fixed readwritesplit server weight calculations
The server weights were ignored for the first connection and servers with a
weight of 0 would get connections if the connection count was high enough.

This fixes the weighting behavior so that when connections are created,
servers with a weight of 0 will be ignored as long as there is a server
with a positive weight available.

With this change, three servers configured with weights 2, 1 and 0 would
get connections balanced in the following way:

weight = 2, 66% of connections
weight = 1, 33% of connections
weight = 0, 0% of connections

If the server with the weight of 2 would go down, the server with the weight
of 1 would get 100% of the connections. If both servers with positive weights
go down, the server with the weight of 0 would be used.
2016-03-04 15:06:24 +02:00
75eea82fe3 Added Astyle configuration for MaxScale
This will make formatting of source code easier.
2016-03-04 15:00:33 +02:00
a86903f3d0 Remove obsolete declarations.
And dummy definitions as well.
2016-03-04 14:10:34 +02:00
768ff24428 Ensure SSL_LISTENER structure is intialised to binary zero when allocated in configuration processing by using calloc instead of malloc. 2016-03-04 11:53:54 +00:00
bb4f7bd285 Remove obsolete declarations.
And dummy definitions as well.
2016-03-04 13:10:05 +02:00
739fe7039c Use new functions for accessing start- and uptime. 2016-03-04 11:55:47 +02:00
b7904bffb0 Expose maxscale starttime.
Maxinfo needs access to the time MaxScale was started.
Now exposed in a way similar to the uptime.
2016-03-04 11:55:47 +02:00
5a3d511f44 Use new functions for accessing start- and uptime. 2016-03-04 11:47:12 +02:00
51755aae0c Expose maxscale starttime.
Maxinfo needs access to the time MaxScale was started.
Now exposed in a way similar to the uptime.
2016-03-04 11:45:12 +02:00
9dc55735e7 Missing listeners are treated as warnings instead of errors
Missing listeners are no longer a cause for shutdown.
2016-03-04 10:58:12 +02:00
dd9f7fbbb7 Fixed rwsplit length calculations for multi-statements
The calculations used the amount of bytes read instead of amount of bytes
available and also read one byte too much.
2016-03-04 09:56:18 +02:00
59edee26c6 Fix misses in slavelag.c formatting.
astyle is more thorough.
2016-03-04 09:01:43 +02:00
6b4ffc8506 Cleanup slavelag.c
Untabification, indentation, Allman, etc.
2016-03-04 08:43:35 +02:00
d1837e0e4a Added more error logging and fixed parsing of packets in readwritesplit
Readwritesplit tried to parse COM_PING packets which only have one byte of
payload. This would cause the queries to fail to parsed.
2016-03-04 07:55:03 +02:00
ab33515282 Fixed undefined servers being ignored
The missing server was logged but it was not considered an error.
2016-03-04 07:06:53 +02:00
e38eaab477 Merge branch 'MXS-544' into develop-MXS-544-merge 2016-03-03 21:39:39 +02:00
d3da98b58f Merge branch 'MXS-544' into develop-MXS-544-merge 2016-03-03 21:39:39 +02:00
1a2bd8b234 Added FindLua.cmake from KitWare's repo for CMake 3.4.3
Some platforms did not have the FindLua.cmake file which caused errors on
configuration. Moved the invocation of find_package to the filter CMakeLists.txt
so that it is only called if the luafilter is built.
2016-03-03 16:42:48 +02:00
cb8ea84853 No errors were logged when a service has no listeners
The starting of a service without listeners would fail but there wouldn't be
any log messages about the reason of the failure. In addition to this, MaxScale
would try to restart the service periodically which would lead to unnecessary
error messages.

With this change, missing listeners for services are considered configuration
errors.
2016-03-03 15:57:08 +02:00
0ddb81ea16 Fixed threads=auto not working
The name of the parameter was compared to `auto` instead of the value.
2016-03-03 15:29:05 +02:00
62cf248702 Updated documentation about multi-statements
The readwritesplit documentation now explains the multi-statement behavior in
more detail and provides information about situations where the default
multi-statement behavior can be disabled.
2016-03-03 15:05:28 +02:00
5f993f0b60 Updated documentation about multi-statements
The readwritesplit documentation now explains the multi-statement behavior in
more detail and provides information about situations where the default
multi-statement behavior can be disabled.
2016-03-03 15:05:28 +02:00
76f06572ed Fix to multi-statement processing
Renamed is_mysql_comment_start to is_mysql_statement_end because it checks
whether a statement truly ends instead of just checking comment block starts.

The calculations for buffer length in readwritesplit now use the payload size
instead of the buffer size.
2016-03-03 10:44:11 +02:00
8b6595aa68 Improvements and fixes to strchr_esc_mysql
The C style comments were not ignored and the -- style comments
did not check for the trailing whitespace and made return values char*.

The creation of a stored procedure would prevent sessions from using
any of the slave servers because readwritesplit would interpret
the creation statement as a multi-statement query.

Parts of modutil and readwritesplit now compare pointers to pointers instead of
converting pointers to integers.
2016-03-02 21:34:22 +02:00
2589630b8e Unknown SQL commands are treated as writes
This will prevent any possible damage to a slave by new or unexpected commands.
2016-03-02 21:27:34 +02:00
2a35312022 Cleaned up the usage of the connector library
The monitor permission checks didn't use the standard connection timeouts but
used hard-coded values. The config.c tried to connect to the embedded library
but since it is not used by it anymore, it always fails.
2016-03-02 21:27:34 +02:00
9bfef5c7c1 Improved multi-statement detection in readwritesplit
Now comment blocks and identifiers quoted with backticks are taken into
consideration when multi-statements are processed.
2016-03-02 21:27:34 +02:00
9b2748f50c Removed false warnings about readwritesplit parameter types
The warning was expecting the wrong return value and mistakenly interpreted that
the setting of the parameter failed.
2016-03-02 21:27:34 +02:00
bb1e36e2a5 Updated connector version
The v2.2.1 tag had a bug where the timeouts were not working.
2016-03-02 21:27:34 +02:00
8cf1479f79 Removed logging from SIGTERM and SIGINT handlers
The logging of messages in a signal handler is not safe and sometimes caused
MaxScale to hang.
2016-03-02 21:27:34 +02:00
e1a8a6f373 Luafilter is not built by default
The luafilter requires the lua development libraries so it isn't built
by default.
2016-03-02 13:37:00 +02:00
b2742f02b9 More formatting of code
Code formatting.
2016-03-02 13:28:12 +02:00
2204a245c9 General cleaning up of the luafilter
Renamed variables to make their use more clear and cmake now looks for the Lua
libraries.
2016-03-02 13:28:12 +02:00
140d284eed Updated documentation for luafilter
Added more documentation to functions about how, when and with what parameters
the Lua functions are called with. Also adjusted the module version to experimental.
2016-03-02 13:27:24 +02:00
1c74ca0ec7 Cleaned up the luafilter. 2016-03-02 13:27:24 +02:00
3f3c553736 Finalized query blocking. 2016-03-02 13:26:50 +02:00
5d0f3eb467 Added a simple test for Lua return values from fuction calls. If the Lua function returns a string, the current query is replaced with it. 2016-03-02 13:26:50 +02:00