[ https://issues.apache.org/jira/browse/HBASE-12162?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14157612#comment-14157612 ]
Ted Yu commented on HBASE-12162: -------------------------------- The new test would establish MasterKeepAliveConnection and before getHTableDescriptor() is called on this connection, kill the corresponding master. Going over existing tests, such as TestAdmin, I didn't find similar test case. How about adding new test which verifies the robustness of all calls involving MasterCallable in a separate issue ? > HBaseAdmin#getTableDescriptor() may fail in case master fails over > ------------------------------------------------------------------ > > Key: HBASE-12162 > URL: https://issues.apache.org/jira/browse/HBASE-12162 > Project: HBase > Issue Type: Bug > Reporter: Ted Yu > Assignee: Ted Yu > Attachments: 12162-v1.txt > > > This was discovered by Chakradhar Medavarapu during HA testing. > Here is relevant exception: > {code} > 2014-09-30 04:07:56,734|beaver.machine|INFO|5728|5604|MainThread|14/09/30 > 04:07:56 ERROR util.AbstractHBaseTool: Error running command-line tool > 2014-09-30 > 04:07:56,734|beaver.machine|INFO|5728|5604|MainThread|java.io.IOException: > Call to onprem-ha34/10.215.18.85:60000 failed on local exception: > java.io.IOException: Call id=1, waitTime=8703 > 2014-09-30 04:07:56,734|beaver.machine|INFO|5728|5604|MainThread|at > org.apache.hadoop.hbase.ipc.RpcClient.wrapException(RpcClient.java:1571) > 2014-09-30 04:07:56,734|beaver.machine|INFO|5728|5604|MainThread|at > org.apache.hadoop.hbase.ipc.RpcClient.call(RpcClient.java:1541) > 2014-09-30 04:07:56,736|beaver.machine|INFO|5728|5604|MainThread|at > org.apache.hadoop.hbase.ipc.RpcClient.callBlockingMethod(RpcClient.java:1723) > 2014-09-30 04:07:56,736|beaver.machine|INFO|5728|5604|MainThread|at > org.apache.hadoop.hbase.ipc.RpcClient$BlockingRpcChannelImplementation.callBlockingMethod(RpcClient.java:1776) > 2014-09-30 04:07:56,736|beaver.machine|INFO|5728|5604|MainThread|at > org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$BlockingStub.getTableDescriptors(MasterProtos.java:42525) > 2014-09-30 04:07:56,736|beaver.machine|INFO|5728|5604|MainThread|at > org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation$5.getTableDescriptors(ConnectionManager.java:2121) > 2014-09-30 04:07:56,736|beaver.machine|INFO|5728|5604|MainThread|at > org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.getHTableDescriptor(ConnectionManager.java:2600) > 2014-09-30 04:07:56,736|beaver.machine|INFO|5728|5604|MainThread|at > org.apache.hadoop.hbase.client.HBaseAdmin.getTableDescriptor(HBaseAdmin.java:410) > {code} > From stack trace, exception came out of connection.getHTableDescriptor(). > This happened during master failover where MasterKeepAliveConnection to the > failed master became unusable. -- This message was sent by Atlassian JIRA (v6.3.4#6332)