From 3977207d12c25d1ce5e02f4625d7d738782ee2db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20M=C3=A4kel=C3=A4?= Date: Fri, 29 Mar 2019 13:56:53 +0200 Subject: [PATCH] Update transaction_replay documentation Removed the confusing paragraph. --- Documentation/Routers/ReadWriteSplit.md | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) diff --git a/Documentation/Routers/ReadWriteSplit.md b/Documentation/Routers/ReadWriteSplit.md index cd108bb94..8858ee4ef 100644 --- a/Documentation/Routers/ReadWriteSplit.md +++ b/Documentation/Routers/ReadWriteSplit.md @@ -438,21 +438,10 @@ failure of a master node without any visible effects to the client. If no replacement node becomes available before the timeout controlled by `delayed_retry_timeout` is exceeded, the client connection is closed. -Only when the following criteria are met, the transaction can be safely -replayed. - -* The replacement server where the transaction is applied returns results - identical to the original partial transaction. - -If the results from the replacement server are not identical when the transaction is -replayed, the client connection is closed. This means that any transaction with a server -specific result (e.g. `NOW()`, `@@server_id`) cannot be replayed successfully. - -It is recommended that the transaction contains only data modification -(`INSERT`, `UPDATE`, `DELETE` etc.) or `SELECT ... FOR UPDATE` -statements. Performing MVCC reads (`SELECT` queries without `FOR UPDATE` or -`LOCK IN SHARE MODE`) is discouraged as it doesn't guarantee strict ordering of -events. +If the results from the replacement server are not identical when the +transaction is replayed, the client connection is closed. This means that any +transaction with a server specific result (e.g. `NOW()`, `@@server_id`) cannot +be replayed successfully but it will still be attempted. ### `transaction_replay_max_size`