13613 Commits

Author SHA1 Message Date
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
Johan Wikman
b50193a868 MXS-2512 Extend dbg_decode_response()
Now capable of decoding GWBUF containing multiple packets.
2019-06-11 09:44:27 +03:00
Markus Mäkelä
5f5e402a32
Reconnect before find_field in mysqlmon_rejoin_manual
This appears to fix the test failure but the reason why it worked before
still remains a mystery.
2019-06-11 00:09:26 +03:00
Esa Korhonen
b49aeae1c8 Avoid using obsolete functions in reset-replication
Removes some duplicate functions.
2019-06-10 15:04:25 +03:00
Niclas Antti
190c0ac634 MXS-2437 Base router for Smart Router.
This is the base for Smart Router. Review and TODO comments are in the
code. This commit will be squashed several times so don't pay attention to this
specific commit message. I will add and remove TODO's in the code, rather
than save them in git commits. RBCommons will contain the history.
2019-06-10 14:40:39 +03:00
Johan Wikman
b33cd85b4d Update release notes and change log for 2.3.8 2019-06-10 14:37:57 +03:00
Esa Korhonen
4efa9dbeea Remove maxscale/alloc.h
The remaining contents were moved to maxbase/alloc.h.
2019-06-10 14:11:25 +03:00
Esa Korhonen
82229b7a1e Merge branch '2.3' into develop 2019-06-10 14:08:17 +03:00
Esa Korhonen
57029bb1a1 MXS-2445 Add logrotate config file 2019-06-10 12:51:03 +03:00
Marko
e078f95a42 MXS-1550 Add net_write_timeout paramater for service
net_write_timeout is used to timeout writes take too long.
2019-06-10 10:31:35 +03:00
Esa Korhonen
fc9ef715bd Move last MariaDB-Monitor settings inside class 2019-06-07 11:42:21 +03:00
Esa Korhonen
926f0057c2 Move QueryResult-class to a separate file
The maxsql/src/mariadb.cc-file contains only general utility functions.
2019-06-07 11:32:46 +03:00
Esa Korhonen
655e5fab5b Move length-encoded integer/string functions to maxsql 2019-06-07 11:32:46 +03:00
Esa Korhonen
5e03ff35eb Continue external command cleanup
Simplify serverlist creation code.
2019-06-07 11:30:44 +03:00
Esa Korhonen
9fa2328feb Clean up external command argument substitution
Use a single function for checking match and for replacing.
2019-06-07 11:06:45 +03:00
Esa Korhonen
1ba77b59e2 MXS-2548 Show correct monitor state in "maxadmin list monitors"
The code OR:d with 0.
2019-06-06 17:09:41 +03:00