Details
-
Bug
-
Status: Closed (View Workflow)
-
Minor
-
Resolution: Fixed
-
2.5.27, 6.4.8, 22.08.7, 23.02.2
-
None
Description
If all the backends used by a readwritesplit session failed in a way that is considered a permanent failure, the retrying of interrupted queries is done regardless of this. This makes failures slower than they should be when the unrecoverable state could be detected much earlier.
An easy way to test this is to use connection_init_sql_file with invalid SQL in it and then configure readwritesplit with transaction_replay. With the default timeout of 10 seconds, the failure will take 10 seconds to be reported to the client instead of being reported instantly when the initialization failure is seen.