Details
-
New Feature
-
Status: Closed (View Workflow)
-
Minor
-
Resolution: Won't Do
-
None
-
None
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