[ 
https://issues.apache.org/jira/browse/HBASE-10432?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13889442#comment-13889442
 ] 

Nicolas Liochon commented on HBASE-10432:
-----------------------------------------

bq. AsynProcess#sendMultiAction 
We're calling RpcRetryingCaller#callWithoutRetries, and this one can throw a 
RuntimeException. So for this case, imho, we need to retry (that's our 
contract), or to change the interface in RpcRetryingCaller. For the Throwable, 
we could remove it likely. Then the Error wouldn't be caught, and it would be 
fine: we just need to be sure that we"re not holding any resource (it seems ok 
today).

> Rpc retries non-recoverable error
> ---------------------------------
>
>                 Key: HBASE-10432
>                 URL: https://issues.apache.org/jira/browse/HBASE-10432
>             Project: HBase
>          Issue Type: Bug
>          Components: IPC/RPC
>    Affects Versions: 0.98.0, 0.96.2, 0.99.0
>            Reporter: Nick Dimiduk
>            Assignee: Nick Dimiduk
>            Priority: Minor
>         Attachments: HBASE-10432.00.patch, HBASE-10432.01.patch, exception.txt
>
>
> I'm recently working with hbase/trunk + hive/trunk. I had a hive command 
> eventually timeout with the following exception (stacktrace truncated).
> {noformat}
> Caused by: java.io.IOException: Could not set up IO Streams
>         at 
> org.apache.hadoop.hbase.ipc.RpcClient$Connection.setupIOstreams(RpcClient.java:922)
>         at 
> org.apache.hadoop.hbase.ipc.RpcClient.getConnection(RpcClient.java:1536)
>         at org.apache.hadoop.hbase.ipc.RpcClient.call(RpcClient.java:1425)
>         at 
> org.apache.hadoop.hbase.ipc.RpcClient.callBlockingMethod(RpcClient.java:1654)
>         at 
> org.apache.hadoop.hbase.ipc.RpcClient$BlockingRpcChannelImplementation.callBlockingMethod(RpcClient.java:1712)
>         at 
> org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$BlockingStub.scan(ClientProtos.java:28857)
>         at 
> org.apache.hadoop.hbase.client.ScannerCallable.openScanner(ScannerCallable.java:302)
>         at 
> org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:157)
>         at 
> org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:57)
>         at 
> org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:120)
>         ... 43 more
> Caused by: java.lang.NoSuchMethodError: 
> org.apache.hadoop.net.NetUtils.getInputStream(Ljava/net/Socket;)Lorg/apache/hadoop/net/SocketInputWrapper;
>         at 
> org.apache.hadoop.hbase.ipc.RpcClient$Connection.setupIOstreams(RpcClient.java:861)
>         ... 52 more
> {noformat}
> The root cause looks like a dependency version missmatch (Hive compiled vs 
> hadoop1, HBase vs hadoop2). However, we still retry this exception, even 
> though it'll never actually complete. We should be more careful where we 
> blindly catch Throwables.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to