hbase-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "stack (JIRA)" <j...@apache.org>
Subject [jira] [Created] (HBASE-20981) Rollback stateCount accounting thrown-off when exception out of rollbackState
Date Mon, 30 Jul 2018 17:50:00 GMT
stack created HBASE-20981:
-----------------------------

             Summary: Rollback stateCount accounting thrown-off when exception out of rollbackState
                 Key: HBASE-20981
                 URL: https://issues.apache.org/jira/browse/HBASE-20981
             Project: HBase
          Issue Type: Bug
          Components: amv2
    Affects Versions: 2.0.1
            Reporter: stack
             Fix For: 2.0.2


Found by might [~allan163] over in HBASE-20893. Quoting Allan:

{code}
But, there is truly a bug here,

  @Override
  protected void rollback(final TEnvironment env)
      throws IOException, InterruptedException {
    if (isEofState()) stateCount--;
    try {
      updateTimestamp();
      rollbackState(env, getCurrentState());
      stateCount--;
    } finally {
      updateTimestamp();
    }
  }
We need to decrease the stateCount when rolling back, so we can rollback for the previous
state correctly. But. since a exception is thrown, the decrease for stateCount never happen.
So ProcedureExecutor will continue to rollback for only one state(the one throw a exception)
until the end of the execution stack.
{code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message