Uploaded image for project: 'MariaDB MaxScale'
  1. MariaDB MaxScale
  2. MXS-199

Support Causal Read in Read Write Splitting

    XMLWordPrintable

Details

    • New Feature
    • Status: Closed (View Workflow)
    • Major
    • Resolution: Fixed
    • None
    • 2.3.0
    • readwritesplit
    • None

    Description

      This is useful in a read-scaleout replication setup, where the application writes to a single master but divides the reads out to a number of slaves to distribute the load. In such a setup, an application could first do a write on the master, and then a bit later do a read on a slave, and if the slave is not fast enough, the data read from the slave might not include the update just made, possibly confusing the application and/or the end-user.

      The solution to address that issue is already available in MariaDB
      https://mariadb.com/kb/en/mariadb/master_gtid_wait/

      Maintain in maxscale a list of GTID apply to master but not yet receive by the slaves .

      just fecth gtid_binlog_pos in mariadb >= 10.0

      When a read statement is routed on a slave,
      inject before query .
      master_gtid_wait(list of gtid, timeout)

      If timeout happen query should be routed to master or rerouted if the queuing take place on the slave .

      Attachments

        Issue Links

          Activity

            People

              markus makela markus makela
              stephane@skysql.com VAROQUI Stephane
              Votes:
              1 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.