[
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)