Uploaded image for project: 'Kudu'
  1. Kudu
  2. KUDU-796

New leaders should not allow "up to date" reads until they've committed everything from previous terms

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Critical
    • Resolution: Fixed
    • M5
    • 1.2.0
    • consensus
    • None

    Description

      This came up in a HipChat discussion based on a consistency problem observed on a testing cluster. Todd suggested the following fix.

      It is possible to lose read-your-writes consistency across a leader failure in the following scenario:

      1. Write to leader, leader replicates successfully and commits locally, responds to the client, and crashes.
      2. Client reads back the same data he just wrote, gets routed to the new leader who has not yet finished committing the entries in his log. This leader responds with stale data.

      One solution to this problem is to have the leader stall responding to "up to date" reads until all of the entries in its log from previous terms have been committed.

      Attachments

        Issue Links

          Activity

            People

              dralves David Alves
              mpercy Mike Percy
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: