Details

    • Sub-task
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.2.0, 1.1.2, 2.0.0
    • master
    • None

    Description

      WAL fencing for the WALProcedureStore is a bit different than the fencing done for region server WALs.

      In case of this sequence of events, the WAL is not fenced (especially with HBASE-13832 patch):

      • master1 creates WAL with logId = 1: /MasterProcWALs/state-00000000000000000001.log
      • master2 takes over, fences logId = 1 with recoverLease(), creates logId=2: /MasterProcWALs/state-00000000000000000002.log.
      • master2 writes some procedures and rolls the logId2, and creates logId = 3, and deletes logId = 2.
      • master1 now tries to write a procedure, gets lease mismatch, rolls the log from 1 to 2, and succeeds the write since it can write logId = 2 (master2 uses logId=3 now).

      Attachments

        1. HBASE-13993-v3.patch
          7 kB
          Matteo Bertozzi
        2. HBASE-13993-v2.patch
          6 kB
          Matteo Bertozzi
        3. hbase-13993_v1.patch
          10 kB
          Enis Soztutar

        Activity

          People

            enis Enis Soztutar
            enis Enis Soztutar
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: