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

Nick Dimiduk commented on HBASE-10432:
--------------------------------------

Good argument [~nkeywal]. As far as I know, you and [~stack] are the reigning 
experts in RPC, so I'll go with what you say. The docs on 
[Error|http://docs.oracle.com/javase/7/docs/api/java/lang/Error.html] say

bq. An Error is a subclass of Throwable that indicates serious problems that a 
reasonable application should not try to catch.

I think we're trying to keep the client in the realm of "reasonable 
applications", right? ;)

In my case, I was having to wait out the 
[NoSuchMethodError|http://docs.oracle.com/javase/7/docs/api/java/lang/NoSuchMethodError.html].
 Maybe the patch could be scoped back to handle only 
[LinkageError|http://docs.oracle.com/javase/7/docs/api/java/lang/LinkageError.html]
 and children?

> 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, 
> HBASE-10432.02.patch, HBASE-10432.02.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