From 1e57c2cb67ce21417423e310069feccf0e5e6d80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20M=C3=A4kel=C3=A4?= Date: Mon, 2 Dec 2019 07:40:47 +0200 Subject: [PATCH] MXS-2643: Mention Galera in causal_reads documentation causal_reads does not work with servers that update their state via mechanisms other than the standard replication. In practice this is just another Galera limitation. --- Documentation/Routers/ReadWriteSplit.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Documentation/Routers/ReadWriteSplit.md b/Documentation/Routers/ReadWriteSplit.md index 8858ee4ef..c0469d02e 100644 --- a/Documentation/Routers/ReadWriteSplit.md +++ b/Documentation/Routers/ReadWriteSplit.md @@ -487,6 +487,14 @@ modifications done by the client itself. addition to this, the `session_track_system_variables` parameter must be set to `last_gtid`. +**Note:** This feature does not work with Galera or any other non-standard + replication mechanisms. As Galera does not update the `gtid_slave_pos` + variable when events are replicated via the Galera library, the + [`MASTER_GTID_WAIT`](https://mariadb.com/kb/en/library/master_gtid_wait/) + function used by MaxScale to synchronize reads will wait until the + timeout. With Galera this is not a serious issue as it, by nature, is a + mostly-synchronous replication mechanism. + A practical example can be given by the following set of SQL commands executed with `autocommit=1`.