You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "huaxiang sun (JIRA)" <ji...@apache.org> on 2017/04/13 00:01:41 UTC

[jira] [Updated] (HBASE-17904) Get runs into NoSuchElementException when using Read Replica, with hbase. ipc.client.specificThreadForWriting to be true and hbase.rpc.client.impl to be org.apache.hadoop.hbase.ipc.RpcClientImpl

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

huaxiang sun updated HBASE-17904:
---------------------------------
    Attachment: HBASE-17904-master-v001.patch

Attach a first patch. Add the BlockingQueue back, the cancel path is not protected by any lock.

> Get runs into NoSuchElementException when using Read Replica, with hbase. ipc.client.specificThreadForWriting to be true and hbase.rpc.client.impl to be org.apache.hadoop.hbase.ipc.RpcClientImpl
> --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-17904
>                 URL: https://issues.apache.org/jira/browse/HBASE-17904
>             Project: HBase
>          Issue Type: Bug
>          Components: Client
>    Affects Versions: 2.0.0
>            Reporter: huaxiang sun
>            Assignee: huaxiang sun
>         Attachments: HBASE-17904-master-v001.patch
>
>
> When testing read replica with 2.0.0 code, with the following config
> {code}
>   <property>
>     <name>hbase.ipc.client.specificThreadForWriting</name>
>     <value>true</value>
>   </property>
>   <property>
>     <name>hbase.rpc.client.impl</name>
>     <value>org.apache.hadoop.hbase.ipc.RpcClientImpl</value>
>   </property>
> {code}
> The hbase client runs into the following exception
> {code}
> Exception in thread "main" java.util.NoSuchElementException
>         at java.util.ArrayDeque.removeFirst(ArrayDeque.java:280)
>         at java.util.ArrayDeque.remove(ArrayDeque.java:447)
>         at org.apache.hadoop.hbase.ipc.BlockingRpcConnection$CallSender.remove(BlockingRpcConnection.java:159)
>         at org.apache.hadoop.hbase.ipc.BlockingRpcConnection$3.run(BlockingRpcConnection.java:760)
>         at org.apache.hadoop.hbase.ipc.HBaseRpcControllerImpl.startCancel(HBaseRpcControllerImpl.java:229)
>         at org.apache.hadoop.hbase.client.CancellableRegionServerCallable.cancel(CancellableRegionServerCallable.java:86)
>         at org.apache.hadoop.hbase.client.ResultBoundedCompletionService$QueueingFuture.cancel(ResultBoundedCompletionService.java:106)
>         at org.apache.hadoop.hbase.client.ResultBoundedCompletionService.cancelAll(ResultBoundedCompletionService.java:274)
>         at org.apache.hadoop.hbase.client.RpcRetryingCallerWithReadReplicas.call(RpcRetryingCallerWithReadReplicas.java:224)
>         at org.apache.hadoop.hbase.client.HTable.get(HTable.java:445)
>         at org.apache.hadoop.hbase.client.HTable.get(HTable.java:409)
>         at HBaseThreadedGet.doWork(HBaseThreadedGet.java:45)
>         at HBaseThreadedGet.main(HBaseThreadedGet.java:19)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)