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

Unsupported rollback should not be logged as CODE-BUG

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Minor
    • Resolution: Cannot Reproduce
    • None
    • None
    • logging, proc-v2
    • None

    Description

      When executing rollback from a state that does not support rollback functionality UnsupportedOperationException is thrown. The Procedure framework does not handle this case specially and logs an ERROR message because it is caught as a Throwable.

      This scenario should have a cleaner log message.

      2020-04-08 20:57:10,137 ERROR org.apache.hadoop.hbase.procedure2.ProcedureExecutor: CODE-BUG: Uncaught runtime exception for pid=14791, state=FAILED:SERVER_CRASH_START, locked=true, exception=org.apache.hadoop.hbase.procedure2.ProcedureAbortedException via AssignProcedure:org.apache.hadoop.hbase.procedure2.ProcedureAbortedException: 6f48ff190e182c204056eb8b227ff6e8 owned by pid=9419, CANNOT run 'this' (pid=14797).; ServerCrashProcedure server=example.com,16020,1584086541944, splitWal=true, meta=false
      java.lang.UnsupportedOperationException: unhandled state=SERVER_CRASH_GET_REGIONS
              at org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure.rollbackState(ServerCrashProcedure.java:265)
              at org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure.rollbackState(ServerCrashProcedure.java:59)
              at org.apache.hadoop.hbase.procedure2.StateMachineProcedure.rollback(StateMachineProcedure.java:208)
              at org.apache.hadoop.hbase.procedure2.Procedure.doRollback(Procedure.java:982)
              at org.apache.hadoop.hbase.procedure2.ProcedureExecutor.executeRollback(ProcedureExecutor.java:1663)
              at org.apache.hadoop.hbase.procedure2.ProcedureExecutor.executeRollback(ProcedureExecutor.java:1595)
              at org.apache.hadoop.hbase.procedure2.ProcedureExecutor.executeProcedure(ProcedureExecutor.java:1438)
              at org.apache.hadoop.hbase.procedure2.ProcedureExecutor.access$1200(ProcedureExecutor.java:78)
              at org.apache.hadoop.hbase.procedure2.ProcedureExecutor$WorkerThread.run(ProcedureExecutor.java:2058)
       

      Attachments

        Issue Links

          Activity

            People

              psomogyi Peter Somogyi
              psomogyi Peter Somogyi
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: