10138 Commits

Author SHA1 Message Date
Markus Mäkelä
4a215b9ca2
MXS-1961: Add test case
Added a test case that reproduces the problem.
2018-07-07 09:28:50 +03:00
Markus Mäkelä
690a111f37
Updated README.md
Updated the README to point to various documents that help set up
MaxScale. Also removed the somewhat incorrect information about the
technical implementation details.
2018-07-07 09:27:34 +03:00
Markus Mäkelä
a1b5852ad0
Check README in check_links.sh
The script now checks the README document for broken links.
2018-07-07 09:27:00 +03:00
Markus Mäkelä
cb05199bac
Stop MaxScale before fixing replication
Before the state of the backend servers is checked, MaxScale needs to be
stopped to prevent the automated failover from interfering in the start-up
process.
2018-07-05 21:03:57 +03:00
Markus Mäkelä
5c610503ba
MXS-1949: Add test case
Added a test case that verifies the bug is fixed.
2018-07-05 13:47:08 +03:00
Markus Mäkelä
f44d305a46
MXS-1949: Fix user injection warning
If a service has no active servers and users are injected, a warning would
be logged. This is a misleading warning if the service has no servers and
should only be logged if the failure to load any users is an unexpected
situation.
2018-07-05 12:49:46 +03:00
Markus Mäkelä
33fa9b26fe
Make version counter in mlist_t volatile
The log manager is the only one that uses the mlist_t versioned list. The
counter that keeps track of the version number was not modified using
atomic operations meaning that the compiler is free to optimize away parts
of the lock-free versioning mechanism that uses it.

To prevent this optimization, the variable is declared volatile. A rewrite
is direly needed but it cannot be done in 2.2.
2018-07-05 12:47:28 +03:00
Markus Mäkelä
f5110209f7
MXS-1942: Use MaxScale version in MaxCtrl
Displaying the MaxScale version helps identify which package the
executable was bundled with. As the MaxCtrl source is a part of MaxScale,
there's no need for separate versioning.
2018-07-05 12:47:28 +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
f1d7303919 Update 2.2 version number 2018-07-05 09:44:13 +03:00
Johan Wikman
7765aff74b Update 2.2.11 release date 2018-07-05 09:38:09 +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
Timofey Turenko
45752e0a45 chmod for all binary repository dirs and files 2018-07-03 16:14:09 +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
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
Timofey Turenko
75c5a5dca5 Merge branch '2.2' of github.com:mariadb-corporation/MaxScale into 2.2 2018-07-02 12:31:31 +03:00
Johan Wikman
b0902402b6 MXS-1940 Turn cache filter non-experimental
Also change the following defaults:

- "selects": Was "verify_cacheable", is now "assume_cacheable"
- "cached_data": Was "shared", is now "thread_specific"
2018-07-02 08:44:39 +03:00
Timofey Turenko
db81ba0005 set proper access rights for binary repo directory 2018-06-29 17:45:11 +03:00
Johan Wikman
76fb7a695e Update 2.2 version number 2018-06-28 10:41:24 +03:00
Johan Wikman
c33837c906 Update release date of 2.2.10 2018-06-28 10:25:54 +03:00
Markus Mäkelä
a6182d48bf
MXS-1643: Only test existence of extra events mxs1643_extra_events
Don't test failover functionality when it is not needed. The bug is only
about the extra events that appear when a master is demoted and a slave is
promoted.
2018-06-27 10:49:32 +03:00
Markus Mäkelä
b7fdaf0340
Use wait_for_monitor in mxs1643_extra_events
Replace hard-coded sleeps in mxs1643_extra_events with
Maxscales::wait_for_monitor.
2018-06-27 08:49:55 +03:00
Markus Mäkelä
f49c31625d
Use derived version of write for session commands
Prepared statements via readwritesplit need to have their IDs mapped from
the internal representation to the backend specific one. The RWBackend
class does this in its write method but the fix in commit
e561c3995c7396cf3749ccdf6a3357d7dd32c856 caused this to be bypassed and
the base version was always used.
2018-06-27 08:49:54 +03:00
Markus Mäkelä
f97f422379
Don't use closed backends
Only use backends that are still in use. The COM_STMT_EXECUTE and
COM_STMT_FETCH relationship caused unused backends to be used.
2018-06-27 08:49:21 +03:00
Markus Mäkelä
d5bdc3febd
Fix formatting for dump_last_statements
A backtick was missing.
2018-06-27 08:49:20 +03:00
Johan Wikman
82af399fb1 Add 2.2.10 release notes
And update the change log.
2018-06-25 09:19:30 +03:00
Markus Mäkelä
6183fab79b
MXS-1938: Log query for inconsistent replies
If a session command produces a different result on the slave than it did
on the master, a warning is logged. This warning now also logs the query
that was being executed to make investigation of the problem easier.
2018-06-25 08:44:13 +03:00
Markus Mäkelä
c70cc61132
Remove unused code in mysqlmon_failover_rejoin_old_slave
The sleep function is no longer used.
2018-06-22 10:37:11 +03:00
Markus Mäkelä
bb67c4fb8f
Remove unused test
The test was not used.
2018-06-22 10:37:11 +03:00
Markus Mäkelä
9f2a4c4368
Request GTID in mysqlmon_failover_rejoin_old_slave
The test won't otherwise work as the failover is not done without it.
2018-06-22 10:37:11 +03:00
Markus Mäkelä
e561c3995c
Use correct write in Backend::execute_session_command
Backend::execute_session_command would use the overridden write method
instead of the Backend::write method that it intended to use. This caused
session commands that did not expect a response to be in a state that
expected a result.

Also fixed RWBackend::write pass the response_type value to
Backend::write.
2018-06-22 10:37:11 +03:00
Markus Mäkelä
c49b6ada7d
MXS-1932: Make it clear what is being tested
The test was not very clear about what it does. Added comments to clarify
what is done and why. Also fixed a typo.
2018-06-21 15:17:10 +03:00
Markus Mäkelä
d22a62c0ff
Use sleeps and waits with mxs1719
Going the belt-and-suspenders way of both sleeping and waiting for the
moitor should make sure MaxScale has at least some time to start up, query
the servers and do a single iteration of monitoring.
2018-06-21 15:12:12 +03:00