[
https://issues.apache.org/jira/browse/HBASE-9812?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13803498#comment-13803498
]
Ted Yu commented on HBASE-9812:
-------------------------------
Looks like there was some issue with zookeeper. Following the above log I saw:
{code}
2013-10-21 11:52:24,809 INFO [dummy-master,1,1.splitLogManagerTimeoutMonitor]
hbase.Chore(93): dummy-master,1,1.splitLogManagerTimeoutMonitor exiting
2013-10-21 11:52:24,908 DEBUG [pool-1-thread-1-EventThread]
zookeeper.ZooKeeperWatcher(310):
split-log-manager-tests145fa180-5cc5-4165-9d67-4073ab3f921b-0x141dadbb9320000
Received ZooKeeper Event, type=None, state=Disconnected, path=null
2013-10-21 11:52:24,908 DEBUG [pool-1-thread-1-EventThread]
zookeeper.ZooKeeperWatcher(392):
split-log-manager-tests145fa180-5cc5-4165-9d67-4073ab3f921b-0x141dadbb9320000
Received Disconnected from ZooKeeper, ignoring
2013-10-21 11:52:33,628 ERROR [SyncThread:0] server.NIOServerCnxn(180):
Unexpected Exception:
java.nio.channels.CancelledKeyException
at sun.nio.ch.SelectionKeyImpl.ensureValid(SelectionKeyImpl.java:55)
at sun.nio.ch.SelectionKeyImpl.interestOps(SelectionKeyImpl.java:59)
at
org.apache.zookeeper.server.NIOServerCnxn.sendBuffer(NIOServerCnxn.java:153)
at
org.apache.zookeeper.server.NIOServerCnxn.sendResponse(NIOServerCnxn.java:1076)
at
org.apache.zookeeper.server.FinalRequestProcessor.processRequest(FinalRequestProcessor.java:404)
at
org.apache.zookeeper.server.SyncRequestProcessor.flush(SyncRequestProcessor.java:167)
at
org.apache.zookeeper.server.SyncRequestProcessor.run(SyncRequestProcessor.java:101)
2013-10-21 11:52:33,629 INFO [pool-1-thread-1]
zookeeper.MiniZooKeeperCluster(249): Shutdown MiniZK cluster with all ZK servers
2013-10-21 11:52:33,641 INFO [pool-1-thread-1] hbase.ResourceChecker(171):
after: master.TestSplitLogManager#testMultipleResubmits Thread=9 (was 8)
Potentially hanging thread: pool-1-thread-1-SendThread(localhost:64465)
java.lang.Thread.sleep(Native Method)
org.apache.zookeeper.client.StaticHostProvider.next(StaticHostProvider.java:86)
org.apache.zookeeper.ClientCnxn$SendThread.startConnect(ClientCnxn.java:937)
org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:993)
- Thread LEAK? -, OpenFileDescriptor=143 (was 137) - OpenFileDescriptor LEAK?
-, MaxFileDescriptor=4096 (was 4096), SystemLoadAverage=595 (was 572) -
SystemLoadAverage LEAK? -, ProcessCount=124 (was 124), AvailableMemoryMB=641
(was 751), ConnectionCount=0 (was 0)
{code}
I wonder if SplitLogManager should utilize RecoverableZooKeeper#setData():
{code}
public Stat setData(String path, byte[] data, int version)
{code}
> Intermittent TestSplitLogManager#testMultipleResubmits failure
> --------------------------------------------------------------
>
> Key: HBASE-9812
> URL: https://issues.apache.org/jira/browse/HBASE-9812
> Project: HBase
> Issue Type: Test
> Reporter: Ted Yu
> Priority: Minor
>
> From
> https://builds.apache.org/job/HBase-TRUNK-on-Hadoop-2.0.0/801/testReport/org.apache.hadoop.hbase.master/TestSplitLogManager/testMultipleResubmits/
> :
> {code}
> junit.framework.AssertionFailedError: Waiting timed out after [9,600] msec
> at junit.framework.Assert.fail(Assert.java:57)
> at org.apache.hadoop.hbase.Waiter.waitFor(Waiter.java:193)
> at org.apache.hadoop.hbase.Waiter.waitFor(Waiter.java:146)
> at
> org.apache.hadoop.hbase.HBaseTestingUtility.waitFor(HBaseTestingUtility.java:3220)
> at
> org.apache.hadoop.hbase.master.TestSplitLogManager.waitForCounter(TestSplitLogManager.java:164)
> at
> org.apache.hadoop.hbase.master.TestSplitLogManager.waitForCounter(TestSplitLogManager.java:157)
> at
> org.apache.hadoop.hbase.master.TestSplitLogManager.testMultipleResubmits(TestSplitLogManager.java:280)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> ...
> 2013-10-21 11:52:15,148 DEBUG [pool-1-thread-1] zookeeper.ZKUtil(430):
> split-log-manager-tests145fa180-5cc5-4165-9d67-4073ab3f921b-0x141dadbb9320000
> Set watcher on znode that does not yet exist, /hbase/splitWAL/foo%2F1
> 2013-10-21 11:52:15,148 DEBUG [pool-1-thread-1]
> master.TestSplitLogManager(186): waiting for task node creation
> 2013-10-21 11:52:15,164 DEBUG [pool-1-thread-1-EventThread]
> zookeeper.ZooKeeperWatcher(310):
> split-log-manager-tests145fa180-5cc5-4165-9d67-4073ab3f921b-0x141dadbb9320000
> Received ZooKeeper Event, type=NodeCreated, state=SyncConnected,
> path=/hbase/splitWAL/foo%2F1
> 2013-10-21 11:52:15,164 DEBUG [pool-1-thread-1-EventThread]
> regionserver.TestMasterAddressManager$NodeCreationListener(107):
> nodeCreated(/hbase/splitWAL/foo%2F1)
> 2013-10-21 11:52:15,164 DEBUG [pool-1-thread-1]
> master.TestSplitLogManager(188): task created
> 2013-10-21 11:52:15,164 DEBUG [pool-1-thread-1-EventThread]
> master.SplitLogManager(711): put up splitlog task at znode
> /hbase/splitWAL/foo%2F1
> 2013-10-21 11:52:15,166 DEBUG [pool-1-thread-1-EventThread]
> master.SplitLogManager(753): task not yet acquired /hbase/splitWAL/foo%2F1
> ver = 0
> 2013-10-21 11:52:15,193 DEBUG [pool-1-thread-1-EventThread]
> zookeeper.ZooKeeperWatcher(310):
> split-log-manager-tests145fa180-5cc5-4165-9d67-4073ab3f921b-0x141dadbb9320000
> Received ZooKeeper Event, type=NodeDataChanged, state=SyncConnected,
> path=/hbase/splitWAL/foo%2F1
> 2013-10-21 11:52:15,194 INFO [pool-1-thread-1] hbase.Waiter(174): Waiting up
> to [3,200] milli-secs(wait.for.ratio=[1])
> 2013-10-21 11:52:15,194 INFO [pool-1-thread-1-EventThread]
> master.SplitLogManager(826): task /hbase/splitWAL/foo%2F1 acquired by
> worker1,1,1
> 2013-10-21 11:52:15,204 INFO [pool-1-thread-1] hbase.Waiter(174): Waiting up
> to [9,600] milli-secs(wait.for.ratio=[1])
> 2013-10-21 11:52:15,247 INFO
> [dummy-master,1,1.splitLogManagerTimeoutMonitor]
> master.SplitLogManager$TimeoutMonitor(1408): total tasks = 1 unassigned = 0
> tasks={/hbase/splitWAL/foo%2F1=last_update = 1382356335195 last_version = 1
> cur_worker_name = worker1,1,1 status = in_progress incarnation = 0 resubmits
> = 0 batch = installed = 1 done = 0 error = 0}
> 2013-10-21 11:52:20,250 INFO
> [dummy-master,1,1.splitLogManagerTimeoutMonitor]
> master.SplitLogManager$TimeoutMonitor(1408): total tasks = 1 unassigned = 0
> tasks={/hbase/splitWAL/foo%2F1=last_update = 1382356335195 last_version = 1
> cur_worker_name = worker1,1,1 status = in_progress incarnation = 0 resubmits
> = 0 batch = installed = 1 done = 0 error = 0}
> 2013-10-21 11:52:21,251 INFO
> [dummy-master,1,1.splitLogManagerTimeoutMonitor] master.SplitLogManager(875):
> resubmitting task /hbase/splitWAL/foo%2F1
> 2013-10-21 11:52:24,808 DEBUG
> [dummy-master,1,1.splitLogManagerTimeoutMonitor]
> zookeeper.ZooKeeperWatcher(458):
> split-log-manager-tests145fa180-5cc5-4165-9d67-4073ab3f921b-0x141dadbb9320000
> Received InterruptedException, doing nothing here
> java.lang.InterruptedException
> at java.lang.Object.wait(Native Method)
> at java.lang.Object.wait(Object.java:485)
> at org.apache.zookeeper.ClientCnxn.submitRequest(ClientCnxn.java:1309)
> at org.apache.zookeeper.ZooKeeper.setData(ZooKeeper.java:1264)
> at
> org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper.setData(RecoverableZooKeeper.java:414)
> at org.apache.hadoop.hbase.zookeeper.ZKUtil.setData(ZKUtil.java:881)
> at
> org.apache.hadoop.hbase.master.SplitLogManager.resubmit(SplitLogManager.java:880)
> at
> org.apache.hadoop.hbase.master.SplitLogManager.access$400(SplitLogManager.java:107)
> at
> org.apache.hadoop.hbase.master.SplitLogManager$TimeoutMonitor.chore(SplitLogManager.java:1400)
> at org.apache.hadoop.hbase.Chore.run(Chore.java:80)
> at java.lang.Thread.run(Thread.java:662)
> 2013-10-21 11:52:24,809 DEBUG
> [dummy-master,1,1.splitLogManagerTimeoutMonitor] master.SplitLogManager(881):
> failed to resubmit task /hbase/splitWAL/foo%2F1 version changed
> {code}
> Looks like the version change caused some resubmission to fail.
--
This message was sent by Atlassian JIRA
(v6.1#6144)