[MXS-201] Causal Read Relaxing GTID_WAIT per table consistancy Created: 2015-06-16  Updated: 2017-03-20  Resolved: 2017-03-20

Status: Closed
Project: MariaDB MaxScale
Component/s: readwritesplit
Affects Version/s: None
Fix Version/s: N/A

Type: New Feature Priority: Minor
Reporter: VAROQUI Stephane Assignee: Unassigned
Resolution: Won't Do Votes: 0
Labels: None

Issue Links:
Blocks
is blocked by MXS-199 Support Causal Read in Read Write Spl... Closed
Relates
relates to MXS-190 Automatic FAILOVER for MULTI MASTER Closed

 Description   

Based on the GTID list acquired from the master inside the generic causal read feature, some routing can be decided without usage of mater_gtid_wait by checking if all tables in a statement have not changed on the master after the last replication event reported on the selected slave

Current implementation of per table consistency is not correct because it track master changes from the replication and that is wrong as replication asynchronous .
This should be tracked inside the proxy :
Proxy fetch GTID after every writes and affect GTID on a 2 dimensions table (backend - table), Proxy Replication Monitor do the same for every slave backend.

For any READ statement
For all tables in statement
If Table GTID of the master <= table GTID of the slave

It is safe to route that statement without waiting mater_gtid_wait



 Comments   
Comment by Johan Wikman [ 2017-03-20 ]

Won't do in the 2.2/2.3 timeframe.

Generated at Thu Feb 08 03:57:32 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.