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

Unsupported rollback should not be logged as CODE-BUG

    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Minor
    • Resolution: Cannot Reproduce
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: logging, proc-v2
    • Labels:
      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

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

                Dates

                • Created:
                  Updated:
                  Resolved: