Commit Graph

12824 Commits

Author SHA1 Message Date
a3bbba0a3d Update REST API ETag documentation
The ETag docuemntation did not mention what sort of changes triggered ETag
updates.
2019-07-03 10:25:30 +03:00
5ff52600c9 Merge branch '2.3.9' into 2.3 2019-07-03 09:31:42 +03:00
66d6ce6fa5 Create /var/lib/maxscale via systemd
Systemd provides the facilities to run commands before startup which can
be used to prevent the problem that fixing MXS-2578 caused: upon upgrading
from 2.3.8 to 2.3.9 the /var/lib/maxscale directory would be removed if it
was empty.
2019-07-03 09:04:46 +03:00
26ca7a98f8 Merge branch '2.2' into 2.3.9 2019-07-02 13:05:23 +03:00
8d91e8e234 Install TCL from the source code only when the system version of the library is older than 8.6.5 2019-07-02 13:03:59 +03:00
1c1b791ddc Merge branch '2.3.9' into 2.3 2019-07-02 10:35:51 +03:00
85bb54ce66 Add missing documentation link 2019-07-02 10:31:38 +03:00
5a6e2f43cf Merge branch '2.2' into 2.3.9 2019-07-02 10:06:33 +03:00
29c530fdcc Update maintenance version of 2.3 2019-07-02 08:56:50 +03:00
cc1bd3db80 Add release notes and update changelog for 2.3.9 2019-07-02 08:54:55 +03:00
8ee54b76d6 Merge branch '2.2' into 2.3 2019-07-02 08:36:37 +03:00
493ce86d87 Add release notes and update changelog for 2.3.9 2019-07-02 08:23:43 +03:00
6b11067690 Lower throttling limit in mxs173_throttle_filter
The test appears to fail when the throttling is unable to keep the QPS
high enough for the test to pass. To reduce the likelihood of this, lower
the limit to 500 QPS.

In theory, the minimum delay of one millisecond in the delayed_call limits
the filter to a maximum QPS of 1000 as each query would wait for at least
a millisecond before being routed. This is yet to be proven but it would
explain why the tests are having a hard time approaching that level of
QPS.
2019-07-01 17:30:03 +03:00
25d134df9c Too slow a system isn't a test failure
If testing cannot be reliably performed, the test should be skipped to
minimize unnecessary work that non-deterministic failures cause.
2019-07-01 17:18:22 +03:00
b3eb5ccc81 Fix run_ctrl_c.sh on newer systems
Systems that no longer support SysV init scripts and the service command
need to use systemctl.
2019-07-01 17:13:09 +03:00
0b18826fc1 Fix no_password
The test used freed memory.
2019-07-01 16:57:52 +03:00
418a1f5210 MXS-2584: Assert that workers are initialized
The initialization must always be done before a call to RoutingWorker::get
is done.
2019-07-01 16:37:55 +03:00
fa13ec8c38 Apply MDBCI install_product chnages also to reinstall_maxscale() 2019-07-01 15:12:04 +03:00
ce2d3778d5 change upgrade_test.sh according changes in MDBCI install_product command
The logic of MDBCI 'install_product' command was changed: now it works in the same way as product installation during initial VM start
(using Chef). Everything moved to Chef recipe and there is no need in 'setup_repo' command
2019-07-01 10:42:48 +03:00
b2019ea18e Correctly reset PS continuation state
The state was modified only by PS commands.
2019-07-01 10:33:18 +03:00
4954c7f6b7 Fix sending of unknown PS error
The error was only generated for COM_STMT_EXECUTE commands when all PS
commands should trigger it. In addition, large packets would get sent two
errors upon the arrival of the trailing end.
2019-07-01 10:25:41 +03:00
0f7c1aa418 Improve mxs1776_ps_exec_hang
Syncing the slaves should prevent replication lag from affecting the
test. The added logging will help determine what the error was that caused
the failure.
2019-07-01 10:21:07 +03:00
40f35618ad MXS-2562: Fix out-of-order error during COM_CHANGE_USER
If an error is generated while a COM_CHANGE_USER is being done, it would
always use the sequence number 1. To properly handle this case and send
the correct sequence number, the COM_CHANGE_USER progress needs to be
tracked at the session level.

The information needs to be shared between the backend and client
protocols as the final OK to the COM_CHANGE_USER, with the sequence number
3, is the one that the backend server returns. Only after this response
has been received and routed to the client can the COM_CHANGE_USER
processing stop.
2019-06-28 20:25:31 +03:00
3b6387c952 MXS-2562: Stop immediately on mid-resultset failure
If a server fails mid-resultset, there's not a lot we can do to recover
the situation. A few cases could be handled (e.g. generate an ERR if the
resultset has proceeded to the row processing stage) but these fall
outside the scope of the original issue.
2019-06-28 20:25:31 +03:00
74d15cee09 MXS-2562: Always send errors with sequence number 1
As is explained in MDEV-19893:

   Client reads from socket, gets the packet from 1. with seqno=0, which
   it does not expect, since seqno is supposed to be incremented. Client
   complains, throws tantrums and exceptions.

To cater for clients that do not expect out-of-bound messages
(i.e. server-initiated packets with seqno 0), all messages generated by
MaxScale should use at least sequence number 1.
2019-06-28 20:25:31 +03:00
5ab5e914e7 MXS-2582: Deep-copy PS buffers in RWBackend::write
Deep-copying prevents subsequent modifications done by the caller from
affecting the data that can be potentially stored in the write queue of
the backend's DCB.
2019-06-28 09:46:15 +03:00
e927366995 Merge branch '2.2' into 2.3 2019-06-28 09:27:56 +03:00
42c37585f4 Throttle query retry attempts
It was possible that a one-second outage that caused immediate rejection
of network connections would cause all of the query retry attempts to fail
within a very short period of time. By preventing rapid reconnections,
query_retries is more effective as an error filtering mechanism.
2019-06-28 09:27:20 +03:00
b796351b2c make apt non-interactive in install_build_deps.sh
In Ubuntu Bionic there is need to update libssl which causes system services restart
and apt asks user to allow this restart. It cases build script to hang and build fails due to timeout.
Additional dpkg options and DEBIAN_FRONTEND=noninteractive solves the problem
2019-06-28 00:15:28 +03:00
d8790fa3e7 Merge branch '2.2' into 2.3 2019-06-27 14:20:42 +03:00
7d3c25200e Merge branch '2.2' into 2.3 2019-06-27 14:10:48 +03:00
b4289224de Avoid using SQLITE_OPEN_URI
Centos6 uses a very old version of SQLite without support for URI filenames.
PAM authenticator must use a file-based database.
2019-06-27 13:59:05 +03:00
8a749dc627 MXS-2521: Fix build failure
The get_target_type signature for the definition was different from the
declaration.
2019-06-27 12:48:03 +03:00
5eba688c1b MXS-2521: Detect COM_STMT_EXECUTE without metadata
If a COM_STMT_EXECUTE has no metadata in it and it has more than one
parameter, it must be routed to the same backend where the previous
COM_STMT_EXECUTE with the same ID was routed to. This prevents MDEV-19811
that is triggered by MaxScale routing the queries to different backends.
2019-06-27 08:29:30 +03:00
a6617f52fc MXS-2578: Remove installation of /var/lib/maxscale
The directory was installed as the root user but later on in the
installation process the owner would be changed to the maxscale user. This
causes some validation programs to fail as they expect installed files to
retain the original ownership.
2019-06-27 08:25:12 +03:00
83e276ebd3 MXS-2521: Fix the test
Fixed the test to correctly set the parameters and also to first verify
that a direct connection works before doing the test via MaxScale.
2019-06-27 08:25:12 +03:00
2e843375bb Merge branch '2.2' into 2.3 2019-06-27 08:19:47 +03:00
5c762bb841 misc fix 2019-06-27 08:17:42 +03:00
51ce3c53fd shift 32 2019-06-27 08:17:42 +03:00
6b31b80e76 fix wrong assert 2019-06-27 08:17:42 +03:00
8d50450b5a MXS-2521:Route subseqenct COM_STMT_EXECUTE to the same server which first COM_STMT_EXECUTE was executed on 2019-06-27 08:17:42 +03:00
25a076d072 Fix buffer sizes in PS extraction code
The code used 4 byte buffers for 2 byte values.
2019-06-26 15:49:50 +03:00
991067372d Improve systemd check error message
The error now displays the correct package name for systems that use RPMs.
2019-06-26 15:49:50 +03:00
6cc0d43cb2 Merge branch '2.2' into 2.3 2019-06-26 10:10:26 +03:00
67d82146f1 Fix packet length assertion
The `used_len + len` can be the same as `total_len`.
2019-06-26 09:19:24 +03:00
88dae197b0 Make packet boundary assertion less costly
mxs::Buffer::iterator is not a random-access iterator and hence will have
linear cost. This is too costly to do on every packet with even moderately
sized resultsets.
2019-06-26 09:13:03 +03:00
d15582d26d Allow posting to stopped workers
Due to there being no distinction between a temporarily stopped worker and
a permanently stopped one, we must allow posting of messages to stopped
workers.
2019-06-25 17:32:24 +03:00
d8cbdae83d Remove 2.2 release notes from 2.3 branch
By convention, we only retain the release notes for the current
branch.
2019-06-25 11:46:30 +03:00
42bf95eb82 Fix MariaDB startup commands
Newer systems only define the mariadb service.
2019-06-25 10:15:06 +03:00
873ea92915 Assert that packet is inside the buffer
The buffer containing the response should contain only complete packets.
2019-06-25 09:05:49 +03:00