Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-20828 Finish-up AMv2 Design/List of Tenets/Specification of operation
  3. HBASE-21351

The force update thread may have race with PE worker when the procedure is rolling back

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Resolved
    • Critical
    • Resolution: Fixed
    • None
    • 3.0.0-alpha-1, 2.2.0, 2.0.3, 2.1.2
    • proc-v2
    • None
    • Reviewed

    Description

      We will acquire the procExecutionLock for a procedure when force updating its state to prevent race with PE worker, but this does not work then the procedure is rolling back.

      If a procedure is failed, we will mark the root procedure stack as FAILED, and then start to rollback the whole procedure stack. We will pop every procedure in the stack and try to rollback them. So we may change the state of a procedure without holding its procExecutionLock when rolling back.

      This means we may persist an intermediate state of a procedure and cause corruption when loading procedures.

      Attachments

        1. HBASE-21351.patch
          42 kB
          Duo Zhang
        2. HBASE-21351-v1.patch
          43 kB
          Duo Zhang
        3. HBASE-21351-v1.patch
          43 kB
          Duo Zhang
        4. HBASE-21351-v2.patch
          43 kB
          Duo Zhang

        Issue Links

          Activity

            People

              zhangduo Duo Zhang
              zhangduo Duo Zhang
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: