[ 
https://issues.apache.org/jira/browse/HBASE-19337?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Guanghao Zhang updated HBASE-19337:
-----------------------------------
       Resolution: Fixed
    Fix Version/s: 2.0.0-beta-1
                   3.0.0
           Status: Resolved  (was: Patch Available)

Pushed to master and branch-2. Thanks [~tedyu] for reviewing.

> 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
>            Assignee: Guanghao Zhang
>             Fix For: 3.0.0, 2.0.0-beta-1
>
>         Attachments: HBASE-19337.master.001.patch
>
>
> 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