Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-27223

Avoid data inconsistent between primary and secondary replicas for the new region replication framework

VotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Won't Fix
    • 3.0.0-alpha-3
    • None
    • read replicas
    • None

    Description

      For the new region replication framework introduced by HBASE-26233, when we write the Mutation on primary region replica , if HRegion.doMiniBatchMutate throws a exception, for example ,WAL.sync throws a TimeoutIOException because sync timeout, the writing on primary region replica is failed and we could not query the Mutation on the primary region replica because of Mutation is not written to the MemStore, but the replication to the second replica may be successful because we always execute MultiVersionConcurrencyControl.WriteEntry.runCompletionAction in MultiVersionConcurrencyControl.complete , and we could get the Mutation on the secondary region replica, this inconsistency should be avoid even if it is short.
      But for WALUtil.writeMarker, we should always replicate to the second replica even though WAL.sync is failed, because we just want to sync region state to secondary replica.

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            comnetwork chenglei
            comnetwork chenglei
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment