10947 Commits

Author SHA1 Message Date
Markus Mäkelä
702f8aaed4
Merge branch '2.2' into develop 2018-07-05 13:53:14 +03:00
Markus Mäkelä
9e039ed024
Fix typo in DEB install scripts
The package suffix was wrong.
2018-07-05 12:01:38 +03:00
Markus Mäkelä
7954de0da6
Always log commit ID
There's no good reason to not include the commit ID in release build
startup messages.
2018-07-05 12:01:38 +03:00
Markus Mäkelä
bbf3909296
MXS-1958: Add test case
The test case verifies that the problem exists.
2018-07-05 12:01:38 +03:00
Markus Mäkelä
d301109b1a
Update release document
Use more precise git commands for pushing a single tag.
2018-07-05 12:01:38 +03:00
Johan Wikman
152eed7f63 Merge branch '2.2' into develop 2018-07-05 09:45:18 +03:00
Johan Wikman
f1d7303919 Update 2.2 version number 2018-07-05 09:44:13 +03:00
Johan Wikman
4f634c5010 Merge branch '2.2' into develop 2018-07-05 09:41:00 +03:00
Johan Wikman
7765aff74b Update 2.2.11 release date 2018-07-05 09:38:09 +03:00
Marko
d3c1ec4742 MXS-1664 Add --runtimedir config parameter 2018-07-04 22:38:28 +03:00
Marko
40376bd12a MXS-1849 Fix connecting to empty databases in schemarouter
Empty databases were not mapped to ServerMap because they had no tables
to map. Modified the query to also include empty databases making it
possible to also connect to empty databases through schemarouter.
2018-07-04 22:25:09 +03:00
Marko
33ff20622f MXS-1858 Don't save duplicate of a command in MaxAdmin 2018-07-04 22:22:15 +03:00
Markus Mäkelä
2e88ce4132
Merge branch '2.2' into develop 2018-07-04 22:01:01 +03:00
Markus Mäkelä
1aa5dcf659
Do rsync without --delete
rsync with the --delete flag will destroy artifacts generated by other
jobs. This broke the build_all job.
2018-07-04 15:41:18 +03:00
Markus Mäkelä
6b9ae5b220
Fix bug626
Removed the excessive comments in favor of a simplified description. Use
stack-allocated TestConnections and simplify assertions.

The main change is the different SQL used to update the user with the old
password. Direct modification of the `mysql`.`user` database isn't very
neat but it guarantees that the value is updated.
2018-07-04 15:41:17 +03:00
Markus Mäkelä
d98ffb5d0a
Always stop MaxScale before test
The test should stop MaxScale at the start unless the manual debug flag is
given on the command line. This fixes the connection failure of mxs1719
but reveals a problem with the filter itself.
2018-07-04 13:51:10 +03:00
Markus Mäkelä
88431f14d7
Fix cache_basic configuration
The test requires the old default values.
2018-07-04 13:51:10 +03:00
Markus Mäkelä
3f9a204116
Log unknown users and wrong passwords separately
If authentication fails due to a wrong password, a different error message
is logged. This should help resolve problems with user management.
2018-07-04 13:51:09 +03:00
Markus Mäkelä
be7d31c6ff
Update 2.2.11 release notes
Added fixed bugs to release notes, fixed documentation links.
2018-07-04 13:51:09 +03:00
Markus Mäkelä
79acbae4e5
Fix cache test build failure
The change in defaults caused the test to fail.
2018-07-04 13:51:09 +03:00
Timofey Turenko
05e8773161 fix typo in chmod for all binary repository dirs and files 2018-07-04 09:11:32 +03:00
Timofey Turenko
afdf28c0b9
Access rights for binary repository files and dirs (#178)
fix typo in chmod for all binary repository dirs and files
2018-07-04 09:08:55 +03:00
Markus Mäkelä
44ef4912e8
Merge branch '2.2' into develop 2018-07-03 21:13:41 +03:00
Timofey Turenko
45752e0a45 chmod for all binary repository dirs and files 2018-07-03 16:14:09 +03:00
Markus Mäkelä
b98c0841b4
Enable and fix -Wextra warnings
Fixed all warnings that were present with -Wextra.
2018-07-03 15:07:19 +03:00
Markus Mäkelä
fb1c28c702
MXS-1948: Do round-robin worker assignment
Due to the skewed accept distribution without SO_REUSEPORT, we use
round-robin assignment of workers for new client connections. This
provides better performance as work is more likely to be evenly
distributed across all threads.

Using a least-busy-worker algorithm would provide a more stable result but
this is not trivially simple to implement. For this reason, the
round-robin based approach was chosen for 2.2.
2018-07-03 12:49:59 +03:00
Markus Mäkelä
e455e7f15d
MXS-1953: Always initialize the GWBUF spinlock
The spinlock in the buffer is used but it was not always initialized. Also
added missing initialization of the SERVER pointer.
2018-07-03 11:32:36 +03:00
Esa Korhonen
34f61bc4f2 Close connections before starting loop
The connections should be closed after the check queries.
2018-07-03 10:32:06 +03:00
Esa Korhonen
7ded2c436f Fix monitor shutdown and restart
Monitor restart was not working.
2018-07-03 10:32:06 +03:00
Esa Korhonen
03491a45f0 Remove old code
The functionality is elsewhere.
2018-07-03 10:32:06 +03:00
Markus Mäkelä
013dfa79aa
Quote whitespace-only default values
Parameters that accept whitespace-only values need to have their default
values quoted if they contain only whitespace characters. In 2.2 the
qlafilter is the only module that did not do this.
2018-07-03 03:09:19 +03:00
Markus Mäkelä
a1ab09a79f
Reduce test verbosity
When a test is checking the status of the nodes, the output is relatively
verbose.

Also changed dropping of users to use the IF EXISTS syntax. This will
remove the errors if the users do not exist.
2018-07-03 02:08:25 +03:00
Markus Mäkelä
ceb1c0f2a4
MXS-1950: Add missing error messages
When a valid target was not found, no error message was logged by the
router. This would cause the "Routing the query failed. Session will be
closed." message to be logged with no explanation as to why the routing
failed.

In addition to the above-mentioned case, no message would be logged if the
target for a COM_STMT_FETCH was not in use.
2018-07-03 02:08:25 +03:00
Markus Mäkelä
4084bbcaca
Remove obsolete documents
The documents haven't been updated since the 1.0 release.
2018-07-03 02:08:25 +03:00
Markus Mäkelä
ed068f4d93
Expand authentication failure log message
If the authentication failure was due to a missing database, this extra
information can be logged. This will help cases where users are using
databases that do not exist.
2018-07-03 02:08:24 +03:00
Markus Mäkelä
d96a8b1773
Remove call to pingCluster with only one server
If only one server is used, the amount of requests can be reduced from a
minimum of two to a minimum of one. In most cases this cuts down the
response time in half.
2018-07-03 01:58:43 +03:00
Esa Korhonen
fd31c9cced MXS-1905 Set slaves with low disk space to maintenance
Also, servers in maintenance are updated just as other servers.
2018-07-02 14:24:57 +03:00
Markus Mäkelä
8d7cb27884
Remove faulty debug assertion
The debug assertion was missing the check for the queued commands.
2018-07-02 13:29:21 +03:00
Markus Mäkelä
9d5b8c8de2
Share data between identical session commands
If two or more session commands contain identical buffers, the buffer of
the first session command is shared between the others. This reduces the
amount of memory used to store repeated executions of session commands.

The purging of session command history in readwritesplit was replaced with
session command de-duplication. This was done to prevent problems that
could arise when the order of session commands plays a significant role.
2018-07-02 13:29:21 +03:00
Markus Mäkelä
295d59881e
Remove spinlocks from GWBUF
The spinlock does not protect from or prevent misuse as buffers must not
be used concurrently by multiple threads.
2018-07-02 13:29:21 +03:00
Markus Mäkelä
709c394064
Remove debug messages from readwritesplit
The debug log messages weren't very useful and the information that they
contained can be deduced from other messages.
2018-07-02 13:29:21 +03:00
Markus Mäkelä
df3deb25cb
Clean up mxs812_1
Use stack allocated objects, reduce the iteration count and the amount of
sent data (now roughly 10MB in total).
2018-07-02 13:29:20 +03:00
Markus Mäkelä
8b736854e8
Assert that backend is used or can be connected to
The assertion that was added to RWSplitSession::handle_slave_is_target
failed when delayed_retry was enabled or when slave reconnection
occurred. In 2.3, targets returned by the target selection functions do
not need to be in use but they must be valid connection targets.
2018-07-02 13:29:20 +03:00
Markus Mäkelä
9c6cc713c8
Remove unnecessary session command logging
All executed session commands were logged in the RWSplitSession
destructor. This is not really necessary and shouldn't have been placed
there in the first place.
2018-07-02 13:29:20 +03:00
Markus Mäkelä
8cf22dbb56
MXS-1549: Prevent optimistic transaction with no slaves
If the router session does not have an already open slave connection,
optimistic transactions are not attempted.
2018-07-02 13:29:19 +03:00
Markus Mäkelä
0911c664b1
MXS-1549: Add basic test case
Added a basic test case that checks that the functionality works as
expected.
2018-07-02 13:29:19 +03:00
Markus Mäkelä
56f274d74a
Add Connection helper class
This is intended to make querying a "server" easier by wrapping common
functionality into one class.
2018-07-02 13:29:19 +03:00
Markus Mäkelä
12398bfc26
MXS-1549: Implement optimistic transaction execution
When the `optimistic_trx` mode is enabled, all transactions are started on
a slave server. If the client executes a query inside the transaction that
is not of a read-only nature, the transaction is rolled back and replayed
on the master.
2018-07-02 13:29:19 +03:00
Markus Mäkelä
391618d53b
MXS-1549: Add documentation for optimistic_trx
Added parameter documentation and explained the limitations it has.
2018-07-02 13:29:18 +03:00
Markus Mäkelä
af45006567
MXS-1549: Add optimistic_trx parameter
The optimistic_trx parameter will control whether transactions are assumed
to be read-only and will be optimistically executed on slave
servers. Currently, the parameter does nothing.
2018-07-02 13:29:18 +03:00