Guanghao Zhang created HBASE-19337:
--------------------------------------

             Summary: AsyncMetaTableAccessor may hang when call 
ScanController.terminate many times
                 Key: HBASE-19337
                 URL: https://issues.apache.org/jira/browse/HBASE-19337
             Project: HBase
          Issue Type: Bug
            Reporter: Guanghao Zhang


Code in ScanControllerImpl.
{code}
    private void preCheck() {
      Preconditions.checkState(Thread.currentThread() == callerThread,
        "The current thread is %s, expected thread is %s, " +
            "you should not call this method outside onNext or onHeartbeat",
        Thread.currentThread(), callerThread);
      Preconditions.checkState(state.equals(ScanControllerState.INITIALIZED),
        "Invalid Stopper state %s", state);
    }

    @Override
    public void terminate() {
      preCheck();
      state = ScanControllerState.TERMINATED;
    }
{code}
So if call terminate on a already terminated scan, it will throw 
IllegalStateException.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to