Details

    • Type: Sub-task Sub-task
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.0.0, 1.1.0
    • Component/s: None
    • Labels:
      None
    • Hadoop Flags:
      Reviewed

      Description

      With the async wal approach (HBASE-11568), the edits are not persisted (to wal) in the secondary region replicas. However this means that we have to deal with secondary region replica failures.

      We can seek to re-replicate the edits from primary to the secondary when the secondary region is opened in another server but this would mean to setup a replication queue again, and holding on to the wals for longer.

      Instead, we can design it so that the edits form the secondaries are not persisted to wal, and if the secondary replica fails over, it will not start serving reads until it has guaranteed that it has all the past data.

      For guaranteeing that the secondary replica has all the edits before serving reads, we can use flush and region opening markers. Whenever a region open event is seen, it writes all the files at the time of opening to wal (HBASE-11512). In case of flush, the flushed file is written as well, and the secondary replica can do a ls for the store files and pick up all the files before the seqId of the flushed file. So, in this design, the secodary replica will wait until it sees and replays a flush or region open marker from wal from primary. and then start serving. For speeding up replica opening time, we can trigger a flush to the primary whenever the secondary replica opens as an optimization.

      1. hbase-11580_v2.patch
        142 kB
        Enis Soztutar
      2. hbase-11580_v3.patch
        142 kB
        Enis Soztutar
      3. hbase-11580-addendum.patch
        2 kB
        Enis Soztutar

        Issue Links

          Activity

          No work has yet been logged on this issue.

            People

            • Assignee:
              Enis Soztutar
              Reporter:
              Enis Soztutar
            • Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development