hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ted Yu (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-9863) Intermittently TestZooKeeper#testRegionAssignmentAfterMasterRecoveryDueToZKExpiry hangs
Date Sun, 03 Nov 2013 17:50:17 GMT

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

Ted Yu commented on HBASE-9863:
-------------------------------

bq.  can we remove synchronized, instead make sure the callers have proper synchronization?
isTableAvailableAndInitialized() is called by start() which is not synchronized. Doing the
above would equate to adding synchronized(this) in start() before calling isTableAvailableAndInitialized().
Is that what you meant ?

For 'NamespaceDescriptor get(String name)', the semantics is the same as the original method.

> Intermittently TestZooKeeper#testRegionAssignmentAfterMasterRecoveryDueToZKExpiry hangs
> ---------------------------------------------------------------------------------------
>
>                 Key: HBASE-9863
>                 URL: https://issues.apache.org/jira/browse/HBASE-9863
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Ted Yu
>            Assignee: Ted Yu
>         Attachments: 9863-v1.txt, 9863-v2.txt, 9863-v3.txt
>
>
> TestZooKeeper#testRegionAssignmentAfterMasterRecoveryDueToZKExpiry sometimes hung.
> Here were two recent occurrences:
> https://builds.apache.org/job/PreCommit-HBASE-Build/7676/console
> https://builds.apache.org/job/PreCommit-HBASE-Build/7671/console
> There were 9 occurrences of the following in both stack traces:
> {code}
> "FifoRpcScheduler.handler1-thread-5" daemon prio=10 tid=0x09df8800 nid=0xc17 waiting
for monitor entry [0x6fdf8000]
>    java.lang.Thread.State: BLOCKED (on object monitor)
>   at org.apache.hadoop.hbase.master.TableNamespaceManager.isTableAvailableAndInitialized(TableNamespaceManager.java:250)
>   - waiting to lock <0x7f69b5f0> (a org.apache.hadoop.hbase.master.TableNamespaceManager)
>   at org.apache.hadoop.hbase.master.HMaster.isTableNamespaceManagerReady(HMaster.java:3146)
>   at org.apache.hadoop.hbase.master.HMaster.getNamespaceDescriptor(HMaster.java:3105)
>   at org.apache.hadoop.hbase.master.HMaster.createTable(HMaster.java:1743)
>   at org.apache.hadoop.hbase.master.HMaster.createTable(HMaster.java:1782)
>   at org.apache.hadoop.hbase.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java:38221)
>   at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:1983)
>   at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:92)
> {code}
> The test hung here:
> {code}
> "pool-1-thread-1" prio=10 tid=0x74f7b800 nid=0x5aa5 in Object.wait() [0x74efe000]
>    java.lang.Thread.State: TIMED_WAITING (on object monitor)
>   at java.lang.Object.wait(Native Method)
>   - waiting on <0xcc848348> (a org.apache.hadoop.hbase.ipc.RpcClient$Call)
>   at org.apache.hadoop.hbase.ipc.RpcClient.call(RpcClient.java:1436)
>   - locked <0xcc848348> (a org.apache.hadoop.hbase.ipc.RpcClient$Call)
>   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.MasterProtos$MasterService$BlockingStub.createTable(MasterProtos.java:40372)
>   at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation$5.createTable(HConnectionManager.java:1931)
>   at org.apache.hadoop.hbase.client.HBaseAdmin$2.call(HBaseAdmin.java:598)
>   at org.apache.hadoop.hbase.client.HBaseAdmin$2.call(HBaseAdmin.java:594)
>   at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:116)
>   - locked <0x7faa26d0> (a org.apache.hadoop.hbase.client.RpcRetryingCaller)
>   at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:94)
>   - locked <0x7faa26d0> (a org.apache.hadoop.hbase.client.RpcRetryingCaller)
>   at org.apache.hadoop.hbase.client.HBaseAdmin.executeCallable(HBaseAdmin.java:3124)
>   at org.apache.hadoop.hbase.client.HBaseAdmin.createTableAsync(HBaseAdmin.java:594)
>   at org.apache.hadoop.hbase.client.HBaseAdmin.createTable(HBaseAdmin.java:485)
>   at org.apache.hadoop.hbase.TestZooKeeper.testRegionAssignmentAfterMasterRecoveryDueToZKExpiry(TestZooKeeper.java:486)
> {code}



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Mime
View raw message