Johan Wikman
f478386e47
MXS-2518 Document Clustrix and slave_selection_criteria
2019-06-13 13:45:14 +03:00
Johan Wikman
0b10b27ffd
MXS-2518 Check connection distribution with Clustrix
...
Readconnroute, with default 'router_options', as well as readwritesplit
should cause the connections to be distributed evenly across all nodes.
2019-06-13 13:45:14 +03:00
Johan Wikman
62daabe682
MXS-2518 Document Clustrix and router_options
...
With Clustrix, in whose case all nodes will be masters, using
'router_options=master' with readconnroute will cause only one
node to be used.
2019-06-13 13:45:14 +03:00
Esa Korhonen
6ee9736803
Clean up scheduled event handling
...
Removes some duplicated code.
2019-06-13 13:19:48 +03:00
Johan Wikman
d03e025046
MXS-2553 Allow parenthesis around SELECT
...
With this change, a parenthesized top-level SELECT, such as
"(SELECT f FROM t)" will be fully parsed. Before this change,
the statement was classified as invalid and would thus have
been sent to the master.
With this change also statements like
(SELECT f FROM t1) UNION (SELECT f FROM t2)
will be correctly classified, although only partially parsed.
2019-06-13 10:42:46 +03:00
Marko
c418bf81e1
MXS-2493 Add maxctrl show dbusers <service>
2019-06-12 23:49:08 +03:00
Markus Mäkelä
10272ce633
Merge branch '2.3' into develop
2019-06-12 18:15:37 +03:00
Markus Mäkelä
239c4a8615
MXS-2549: Install prelink config file
...
The prelink configuration file should prevent maxctrl from being corrupted
by it.
2019-06-12 17:49:41 +03:00
Markus Mäkelä
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
Johan Wikman
9c1c8053b9
Merge branch '2.3' into develop
2019-06-12 14:33:07 +03:00
Johan Wikman
74ef8a9591
Update 2.3 maintenance version
2019-06-12 14:28:37 +03:00
Johan Wikman
493155127b
Merge branch '2.3.8' into 2.3
2019-06-12 14:27:22 +03:00
Johan Wikman
208377b262
Update 2.3.8 release date
2019-06-12 14:26:15 +03:00
Markus Mäkelä
1f46f1bfca
Merge branch '2.3' into develop
2019-06-12 12:24:07 +03:00
Markus Mäkelä
bb92d61a1b
Fix KILL command packet boundary detection
...
If a packet with a KILL query was followed with another packet in the same
network buffer, the code wouldn't work as it expected to receive only one
packet at a time.
2019-06-12 12:20:26 +03:00
Markus Mäkelä
7470a58a32
Fix release mode build failures
...
Fixed mxb_assert_message and one dcb_printf failure.
2019-06-12 12:15:47 +03:00
Johan Wikman
a0fcf67993
Merge branch '2.3' into develop
2019-06-12 11:29:03 +03:00
Johan Wikman
b98ff222f0
Merge branch '2.3.8' into 2.3
2019-06-12 11:26:33 +03:00
Markus Mäkelä
9fd0d38797
Merge branch '2.3' into develop
2019-06-12 08:59:36 +03:00
Markus Mäkelä
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
Markus Mäkelä
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
Markus Mäkelä
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
Markus Mäkelä
74f61c233d
MXS-2558: Reuse loaded users
...
When users are loaded, they can be reused across all routing workers.
2019-06-11 21:30:45 +03:00
Markus Mäkelä
6ca5143141
Make kill_query more robust
...
The test now uses an infinite loop in the SQL to make sure the execution
is interrupted.
2019-06-11 21:30:16 +03:00
Johan Wikman
814ae196e9
qc_sqlite: Replace strncpy with memcpy
...
On RHEL8 the former may give rise to incorrect
error: 'char* strncpy(char*, const char*, size_t)' destination
unchanged after copying no bytes [-Werror=stringop-truncation]
2019-06-11 20:14:58 +03:00
Esa Korhonen
d0e6921604
Improve switchover undo when new master fails
...
Now the monitor properly restores the old master by running promotion code on it.
Also, binlog is disabled when enabling server events.
2019-06-11 17:15:43 +03:00
Esa Korhonen
53606934a6
Merge branch '2.3' into develop
2019-06-11 16:35:26 +03:00
Esa Korhonen
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
Markus Mäkelä
5b14e28fc8
Fix maxavrocheck build failure on Ubuntu Trusty
...
The return value of realpath should be checked even if it is pointless.
2019-06-11 14:15:06 +03:00
Johan Wikman
1e3da20409
Merge branch '2.3' into develop
2019-06-11 13:54:51 +03:00
Johan Wikman
acc5863fe2
MXS-2442 ':N' accepted as pos. parameter in Oracle mode
2019-06-11 13:53:09 +03:00
Johan Wikman
c68cb788cc
MXS-2552 Update DISK plugin documentation
2019-06-11 13:21:17 +03:00
Johan Wikman
40851f8a30
MXS-2556 Use configured master
2019-06-11 12:07:27 +03:00
Johan Wikman
ba4099799f
MXS-2556 Add persist_performance_data arg to smartrouter
2019-06-11 11:59:08 +03:00
Johan Wikman
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
Johan Wikman
df5377f135
MXS-2556 Check if TCP/IP socket is used and warn about it
...
If the server (a real one or a service exposed as a server) is
on the same machine as MaxScale, then for performance reasons
a Unix domain socket and not a TCP/IP socket should be used.
2019-06-11 10:48:42 +03:00
Johan Wikman
acdc3b2396
MXS-2556 Add master configuration handling to SmartRouter
2019-06-11 09:46:04 +03:00
Johan Wikman
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
Johan Wikman
a6b456dfbd
MXS-2556 Add support for routers to new config mechanism
2019-06-11 09:46:04 +03:00
Johan Wikman
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
Johan Wikman
b2f44cefe7
MXS-2556 Don't crash if authenticator not found
2019-06-11 09:46:04 +03:00
Markus Mäkelä
4716f5b48f
Fix buffer end pointer comparison in maxavro
...
The buffer pointer can point to the end pointer if it is the last value in
the buffer.
2019-06-11 09:44:27 +03:00
Johan Wikman
a2b046a482
MXS-2512 Use typenames consistently
2019-06-11 09:44:27 +03:00
Markus Mäkelä
ce3d7acf2d
Fix maxavrocheck path processing
...
A null path could be given if realpath failed to resolve the name. This
hides the actual reason of the failure making it harder to resolve it.
2019-06-11 09:44:27 +03:00
Johan Wikman
b09a4e676d
MXS-2512 Do not recalculate information that exists
...
As the end of the error packet is known, it is better to pass
around an iterator to that instead of recalculating it.
2019-06-11 09:44:27 +03:00
Markus Mäkelä
5adc8fa5bd
Add missing HEAVY labels to big tests
2019-06-11 09:44:27 +03:00
Johan Wikman
9d1f094c45
MXS-2512 Add test for trx replay due to rollback
...
The test performs the following:
CREATE tbl (x INT PRIMARY KEY)
t1 t2
BEGIN BEGIN
INSERT INTO tbl VALUES (1)
SELECT * FROM tbl FOR UPDATE
That will cause t2 to wait.
INSERT INTO tbl VALUES (0)
That will cause t2 to be rolled back due to a deadlock.
Without transaction replay, the SELECT will return with an error.
With transaction replay, the deadlock error will be caught, the
transaction replayed and SELECT will return successfully.
2019-06-11 09:44:27 +03:00
Johan Wikman
b222a17ed9
MXS-2512 Update error information in additional place
...
An error may be returned directly or as part of a result set.
Both cases must be handled.
2019-06-11 09:44:27 +03:00
Johan Wikman
e1b611aa06
MXS-2512 Use existing information
...
As an error returned by the server is now stored inside RWBackend,
irrespective of whether it is returned solely or e.g. last after
a result set, there is no need to examine the GWBUF in rws, but
we can use the information that exists.
2019-06-11 09:44:27 +03:00
Johan Wikman
aa9b6cb8c5
MXS-2512 Store received error during backend processing
...
If a server returns an error, it will be retained inside RWBackend
so that it later is accessible without having to parse the GWBUF
again.
2019-06-11 09:44:27 +03:00