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

Only allow one TableProcedureInterface for a single table to run at the same time for some special procedure types

Details

    • Reviewed

    Description

      We have a table lock in the MasterProcedureScheduler, which is designed to only allow one procedure to run at the same time when they require exclusive lock.

      But there is a problem that for availability, usually we can not always hold the exclusive lock through the whole procedure life time, as if so, we can not execute region assignment for this table too. The solution is to set holdLock to false, which means we will release the table lock after one execution cycle.

      In this way, it is possible that different table procedures may execute at the same time, which could mess things up.

      Especially that, in HBASE-28522, we find out that it is even impossible for DisableTableProcedure to hold the exclusive lock all the time. If the steps for DisableTableProcedure can be overlapped with other procedures like ModifyTableProcedure or even EnableTableProcedure, things will be definationly messed up...

      So we need to find another way to ensure that for a single table, only one of these procedures can be executed at the same time.

      Attachments

        Issue Links

          Activity

            zhangduo Duo Zhang added a comment -

            Pushed to all active branches.

            Thanks vjasani for reviewing!

            zhangduo Duo Zhang added a comment - Pushed to all active branches. Thanks vjasani for reviewing!
            hudson Hudson added a comment -

            Results for branch branch-3
            build #252 on builds.a.o: -1 overall


            details (if available):

            -1 general checks
            – For more information see general report

            +1 jdk17 hadoop3 checks
            – For more information see jdk17 report

            +1 source release artifact
            – See build output for details.

            -1 client integration test
            – Something went wrong with this stage, check relevant console output.

            hudson Hudson added a comment - Results for branch branch-3 build #252 on builds.a.o : -1 overall details (if available): -1 general checks – For more information see general report +1 jdk17 hadoop3 checks – For more information see jdk17 report +1 source release artifact – See build output for details. -1 client integration test – Something went wrong with this stage, check relevant console output .
            hudson Hudson added a comment -

            Results for branch master
            build #1123 on builds.a.o: -1 overall


            details (if available):

            +1 general checks
            – For more information see general report

            +1 jdk17 hadoop3 checks
            – For more information see jdk17 report

            +1 source release artifact
            – See build output for details.

            -1 client integration test
            – Something went wrong with this stage, check relevant console output.

            hudson Hudson added a comment - Results for branch master build #1123 on builds.a.o : -1 overall details (if available): +1 general checks – For more information see general report +1 jdk17 hadoop3 checks – For more information see jdk17 report +1 source release artifact – See build output for details. -1 client integration test – Something went wrong with this stage, check relevant console output .
            hudson Hudson added a comment -

            Results for branch branch-2.5
            build #569 on builds.a.o: +1 overall


            details (if available):

            +1 general checks
            – For more information see general report

            +1 jdk8 hadoop2 checks
            – For more information see jdk8 (hadoop2) report

            +1 jdk8 hadoop3 checks
            – For more information see jdk8 (hadoop3) report

            +1 jdk11 hadoop3 checks
            – For more information see jdk11 report

            +1 jdk17 hadoop3 checks
            – For more information see jdk17 report

            +1 source release artifact
            – See build output for details.

            +1 client integration test

            hudson Hudson added a comment - Results for branch branch-2.5 build #569 on builds.a.o : +1 overall details (if available): +1 general checks – For more information see general report +1 jdk8 hadoop2 checks – For more information see jdk8 (hadoop2) report +1 jdk8 hadoop3 checks – For more information see jdk8 (hadoop3) report +1 jdk11 hadoop3 checks – For more information see jdk11 report +1 jdk17 hadoop3 checks – For more information see jdk17 report +1 source release artifact – See build output for details. +1 client integration test
            hudson Hudson added a comment -

            Results for branch branch-2
            build #1106 on builds.a.o: -1 overall


            details (if available):

            +1 general checks
            – For more information see general report

            +1 jdk8 hadoop2 checks
            – For more information see jdk8 (hadoop2) report

            +1 jdk8 hadoop3 checks
            – For more information see jdk8 (hadoop3) report

            -1 jdk11 hadoop3 checks
            – For more information see jdk11 report

            +1 jdk17 hadoop3 checks
            – For more information see jdk17 report

            +1 source release artifact
            – See build output for details.

            +1 client integration test

            hudson Hudson added a comment - Results for branch branch-2 build #1106 on builds.a.o : -1 overall details (if available): +1 general checks – For more information see general report +1 jdk8 hadoop2 checks – For more information see jdk8 (hadoop2) report +1 jdk8 hadoop3 checks – For more information see jdk8 (hadoop3) report -1 jdk11 hadoop3 checks – For more information see jdk11 report +1 jdk17 hadoop3 checks – For more information see jdk17 report +1 source release artifact – See build output for details. +1 client integration test
            hudson Hudson added a comment -

            Results for branch branch-2.6
            build #166 on builds.a.o: -1 overall


            details (if available):

            +1 general checks
            – For more information see general report

            -1 jdk8 hadoop2 checks
            – For more information see jdk8 (hadoop2) report

            +1 jdk8 hadoop3 checks
            – For more information see jdk8 (hadoop3) report

            -1 jdk11 hadoop3 checks
            – For more information see jdk11 report

            +1 jdk17 hadoop3 checks
            – For more information see jdk17 report

            +1 source release artifact
            – See build output for details.

            +1 client integration test

            hudson Hudson added a comment - Results for branch branch-2.6 build #166 on builds.a.o : -1 overall details (if available): +1 general checks – For more information see general report -1 jdk8 hadoop2 checks – For more information see jdk8 (hadoop2) report +1 jdk8 hadoop3 checks – For more information see jdk8 (hadoop3) report -1 jdk11 hadoop3 checks – For more information see jdk11 report +1 jdk17 hadoop3 checks – For more information see jdk17 report +1 source release artifact – See build output for details. +1 client integration test

            People

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

              Dates

                Created:
                Updated:
                Resolved: