[MXS-756] Retry read after slave failure Created: 2016-06-06  Updated: 2016-12-13  Resolved: 2016-12-13

Status: Closed
Project: MariaDB MaxScale
Component/s: readwritesplit
Affects Version/s: 2.0.0
Fix Version/s: 2.1.0

Type: New Feature Priority: Major
Reporter: markus makela Assignee: markus makela
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Relates
relates to MXS-579 Slave failure not handled gracefully ... Closed
Sprint: 2016-23

 Description   

When a read query is interrupted by a slave failure, it should be possible to retry it on another slave or on the master. Since there's no guarantee that a statement executed on the slave and the master returns the same result, we can safely retry any query that does not modify the session state.

All critical statements(transactions, writes) are always sent to the master and the rest of the statements that are sent to the slaves could be classified as non-critical. This means that no hard dependencies on the data are present in any of the statements and some degree of slave lag is acceptable. This makes it safe to retry the queries in most situations.

This new feature should be configurable so that old failure behavior could be used.



 Comments   
Comment by markus makela [ 2016-12-13 ]

The readwritesplit now supports the retry_failed_reads=[true|false] option which allows retrying of autocommit SELECTs outside of transactions.

Generated at Thu Feb 08 04:01:42 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.