[ https://issues.apache.org/jira/browse/HBASE-15018?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15074876#comment-15074876 ]
Hadoop QA commented on HBASE-15018: ----------------------------------- {color:green}+1 overall{color}. Here are the results of testing the latest attachment http://issues.apache.org/jira/secure/attachment/12779914/HBASE-15018-v3-branch-1.patch against branch-1 branch at commit 413d663f9262bcdfce67cbc902f7e3153a161fad. ATTACHMENT ID: 12779914 {color:green}+1 @author{color}. The patch does not contain any @author tags. {color:green}+1 tests included{color}. The patch appears to include 3 new or modified tests. {color:green}+1 hadoop versions{color}. The patch compiles with all supported hadoop versions (2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.6.0 2.6.1 2.7.0 2.7.1) {color:green}+1 javac{color}. The applied patch does not increase the total number of javac compiler warnings. {color:green}+1 protoc{color}. The applied patch does not increase the total number of protoc compiler warnings. {color:green}+1 javadoc{color}. The javadoc tool did not generate any warning messages. {color:green}+1 checkstyle{color}. The applied patch does not generate new checkstyle errors. {color:green}+1 findbugs{color}. The patch does not introduce any new Findbugs (version 2.0.3) warnings. {color:green}+1 release audit{color}. The applied patch does not increase the total number of release audit warnings. {color:green}+1 lineLengths{color}. The patch does not introduce lines longer than 100 {color:green}+1 site{color}. The mvn post-site goal succeeds with this patch. {color:green}+1 core tests{color}. The patch passed unit tests in . {color:green}+1 zombies{color}. No zombie tests found running at the end of the build. Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/17075//testReport/ Release Findbugs (version 2.0.3) warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/17075//artifact/patchprocess/newFindbugsWarnings.html Checkstyle Errors: https://builds.apache.org/job/PreCommit-HBASE-Build/17075//artifact/patchprocess/checkstyle-aggregate.html Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/17075//console This message is automatically generated. > Inconsistent way of handling TimeoutException in the rpc client > implementations > ------------------------------------------------------------------------------- > > Key: HBASE-15018 > URL: https://issues.apache.org/jira/browse/HBASE-15018 > Project: HBase > Issue Type: Bug > Components: Client, IPC/RPC > Affects Versions: 2.0.0, 1.1.0, 1.2.0 > Reporter: Ashish Singhi > Assignee: Ashish Singhi > Fix For: 2.0.0, 1.2.0, 1.3.0, 1.1.3 > > Attachments: HBASE-15018-v1(1).patch, HBASE-15018-v1.patch, > HBASE-15018-v2.patch, HBASE-15018-v3-branch-1.patch, HBASE-15018-v3.patch, > HBASE-15018.patch, HBASE-15018.patch > > > If there is any rpc timeout when using RpcClientImpl then we wrap the > exception in IOE and throw it, > {noformat} > 2015-11-16 04:05:24,935 WARN [main-EventThread.replicationSource,peer2] > regionserver.HBaseInterClusterReplicationEndpoint: Can't replicate because of > a local or network error: > java.io.IOException: Call to host-XX:16040 failed on local exception: > org.apache.hadoop.hbase.ipc.CallTimeoutException: Call id=510, > waitTime=180001, operationTimeout=180000 expired. > at > org.apache.hadoop.hbase.ipc.RpcClientImpl.wrapException(RpcClientImpl.java:1271) > at org.apache.hadoop.hbase.ipc.RpcClientImpl.call(RpcClientImpl.java:1239) > at > org.apache.hadoop.hbase.ipc.AbstractRpcClient.callBlockingMethod(AbstractRpcClient.java:213) > at > org.apache.hadoop.hbase.ipc.AbstractRpcClient$BlockingRpcChannelImplementation.callBlockingMethod(AbstractRpcClient.java:287) > at > org.apache.hadoop.hbase.protobuf.generated.AdminProtos$AdminService$BlockingStub.replicateWALEntry(AdminProtos.java:25690) > at > org.apache.hadoop.hbase.protobuf.ReplicationProtbufUtil.replicateWALEntry(ReplicationProtbufUtil.java:77) > at > org.apache.hadoop.hbase.replication.regionserver.HBaseInterClusterReplicationEndpoint$Replicator.call(HBaseInterClusterReplicationEndpoint.java:322) > at > org.apache.hadoop.hbase.replication.regionserver.HBaseInterClusterReplicationEndpoint$Replicator.call(HBaseInterClusterReplicationEndpoint.java:308) > at java.util.concurrent.FutureTask.run(FutureTask.java:266) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > at java.lang.Thread.run(Thread.java:745) > Caused by: org.apache.hadoop.hbase.ipc.CallTimeoutException: Call id=510, > waitTime=180001, operationTimeout=180000 expired. > at org.apache.hadoop.hbase.ipc.Call.checkAndSetTimeout(Call.java:70) > at org.apache.hadoop.hbase.ipc.RpcClientImpl.call(RpcClientImpl.java:1213) > ... 10 more > {noformat} > But that isn't case with AsyncRpcClient, we don't wrap and throw > CallTimeoutException as it is. > {noformat} > 2015-12-21 14:27:33,093 WARN > [RS_OPEN_REGION-host-XX:16201-0.replicationSource.host-XX%2C16201%2C1450687255593,1] > regionserver.HBaseInterClusterReplicationEndpoint: Can't replicate because > of a local or network error: > org.apache.hadoop.hbase.ipc.CallTimeoutException: callId=2, > method=ReplicateWALEntry, rpcTimeout=600000, param {TODO: class > org.apache.hadoop.hbase.protobuf.generated.AdminProtos$ReplicateWALEntryRequest} > at > org.apache.hadoop.hbase.ipc.AsyncRpcClient.call(AsyncRpcClient.java:257) > at > org.apache.hadoop.hbase.ipc.AbstractRpcClient.callBlockingMethod(AbstractRpcClient.java:217) > at > org.apache.hadoop.hbase.ipc.AbstractRpcClient$BlockingRpcChannelImplementation.callBlockingMethod(AbstractRpcClient.java:295) > at > org.apache.hadoop.hbase.protobuf.generated.AdminProtos$AdminService$BlockingStub.replicateWALEntry(AdminProtos.java:23707) > at > org.apache.hadoop.hbase.protobuf.ReplicationProtbufUtil.replicateWALEntry(ReplicationProtbufUtil.java:73) > at > org.apache.hadoop.hbase.replication.regionserver.HBaseInterClusterReplicationEndpoint$Replicator.call(HBaseInterClusterReplicationEndpoint.java:387) > at > org.apache.hadoop.hbase.replication.regionserver.HBaseInterClusterReplicationEndpoint$Replicator.call(HBaseInterClusterReplicationEndpoint.java:370) > at java.util.concurrent.FutureTask.run(FutureTask.java:266) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) > at java.util.concurrent.FutureTask.run(FutureTask.java:266) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > at java.lang.Thread.run(Thread.java:745) > {noformat} > I think we should have same behavior across both the implementations. -- This message was sent by Atlassian JIRA (v6.3.4#6332)