[
https://issues.apache.org/jira/browse/CURATOR-482?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
zhaoziyan closed CURATOR-482.
-----------------------------
Resolution: Not A Problem
> zookeeper exists waiting forever
> ---------------------------------
>
> Key: CURATOR-482
> URL: https://issues.apache.org/jira/browse/CURATOR-482
> Project: Apache Curator
> Issue Type: Bug
> Environment: server version 3.4.6
> zookeeper cient version 3.4.8
> curator version curator-client-2.12
> linux
> Reporter: zhaoziyan
> Assignee: Jordan Zimmerman
> Priority: Major
>
> exists waiting forever
> server version 3.4.6
> zookeeper cient version 3.4.8
> curator version curator-client-2.12
> because of the exists waiting forever, cause the cutator TreeCache thread
> block
> {code:java}
> // code placeholder
> "ZZBOOK_UPDATE_JDID_JOB2_QuartzSchedulerThread" #781 prio=5 os_prio=0
> tid=0x00007f1a7611e800 nid=0x7661 in Object.wait() [0x00007f1936cee000]
> java.lang.Thread.State: WAITING (on object monitor)
> at java.lang.Object.wait(Native Method)
> at java.lang.Object.wait(Object.java:502)
> at org.apache.zookeeper.ClientCnxn.submitRequest(ClientCnxn.java:1406)
> - locked <0x00000000a6d2a5c8> (a org.apache.zookeeper.ClientCnxn$Packet)
> at org.apache.zookeeper.ZooKeeper.exists(ZooKeeper.java:1097)
> at
> org.apache.curator.framework.imps.ExistsBuilderImpl$3.call(ExistsBuilderImpl.java:237)
> at
> org.apache.curator.framework.imps.ExistsBuilderImpl$3.call(ExistsBuilderImpl.java:226)
> at org.apache.curator.RetryLoop.callWithRetry(RetryLoop.java:109)
> at
> org.apache.curator.framework.imps.ExistsBuilderImpl.pathInForegroundStandard(ExistsBuilderImpl.java:223)
> at
> org.apache.curator.framework.imps.ExistsBuilderImpl.pathInForeground(ExistsBuilderImpl.java:216)
> at
> org.apache.curator.framework.imps.ExistsBuilderImpl.forPath(ExistsBuilderImpl.java:175)
> at
> org.apache.curator.framework.imps.ExistsBuilderImpl.forPath(ExistsBuilderImpl.java:32)
> at
> com.dangdang.ddframe.job.reg.zookeeper.ZookeeperRegistryCenter.isExisted(ZookeeperRegistryCenter.java:210)
> at
> com.dangdang.ddframe.job.lite.internal.storage.JobNodeStorage.isJobNodeExisted(JobNodeStorage.java:66)
> at
> com.dangdang.ddframe.job.lite.internal.storage.JobNodeStorage.createJobNodeIfNeeded(JobNodeStorage.java:107)
> at
> com.dangdang.ddframe.job.lite.internal.execution.ExecutionService.setMisfire(ExecutionService.java:189)
> at
> com.dangdang.ddframe.job.lite.internal.schedule.JobTriggerListener.triggerMisfired(JobTriggerListener.java:47)
> at
> org.quartz.core.QuartzScheduler.notifyTriggerListenersMisfired(QuartzScheduler.java:1905)
> at
> org.quartz.core.SchedulerSignalerImpl.notifyTriggerListenersMisfired(SchedulerSignalerImpl.java:74)
> at org.quartz.simpl.RAMJobStore.applyMisfire(RAMJobStore.java:1354)
> at org.quartz.simpl.RAMJobStore.acquireNextTriggers(RAMJobStore.java:1412)
> - locked <0x00000000c4c9fb10> (a java.lang.Object)
> at org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:272)
> "ZZBOOK_UPDATE_JDID_JOB2_Worker-1" #780 prio=5 os_prio=0
> tid=0x00007f1a7611d000 nid=0x7660 in Object.wait() [0x00007f1936ef0000]
> java.lang.Thread.State: TIMED_WAITING (on object monitor)
> at java.lang.Object.wait(Native Method)
> at
> org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:568)
> - locked <0x00000000c4c228c8> (a java.lang.Object)
> "Curator-TreeCache-77" #779 daemon prio=5 os_prio=0 tid=0x00007f19a4091000
> nid=0x765f waiting for monitor entry [0x00007f1936def000]
> java.lang.Thread.State: BLOCKED (on object monitor)
> at org.quartz.simpl.RAMJobStore.storeTrigger(RAMJobStore.java:413)
> - waiting to lock <0x00000000c4c9fb10> (a java.lang.Object)
> at org.quartz.core.QuartzScheduler.triggerJob(QuartzScheduler.java:1187)
> at org.quartz.impl.StdScheduler.triggerJob(StdScheduler.java:341)
> at org.quartz.impl.StdScheduler.triggerJob(StdScheduler.java:331)
> at
> com.dangdang.ddframe.job.lite.internal.schedule.JobScheduleController.triggerJob(JobScheduleController.java:153)
> at
> com.dangdang.ddframe.job.lite.internal.server.JobOperationListenerManager$JobTriggerStatusJobListener.dataChanged(JobOperationListenerManager.java:103)
> at
> com.dangdang.ddframe.job.lite.internal.listener.AbstractJobListener.childEvent(AbstractJobListener.java:43)
> at
> org.apache.curator.framework.recipes.cache.TreeCache$2.apply(TreeCache.java:741)
> at
> org.apache.curator.framework.recipes.cache.TreeCache$2.apply(TreeCache.java:735)
> at
> org.apache.curator.framework.listen.ListenerContainer$1.run(ListenerContainer.java:93)
> at
> org.apache.curator.shaded.com.google.common.util.concurrent.MoreExecutors$SameThreadExecutorService.execute(MoreExecutors.java:297)
> at
> org.apache.curator.framework.listen.ListenerContainer.forEach(ListenerContainer.java:85)
> at
> org.apache.curator.framework.recipes.cache.TreeCache.callListeners(TreeCache.java:734)
> at
> org.apache.curator.framework.recipes.cache.TreeCache.access$1700(TreeCache.java:71)
> at
> org.apache.curator.framework.recipes.cache.TreeCache$4.run(TreeCache.java:852)
> 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)
> "main-EventThread" #236 daemon prio=5 os_prio=0 tid=0x00007f1a7546a800
> nid=0x74bf waiting on condition [0x00007f194e96e000]
> java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for <0x00000000c24ca218> (a
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
> at
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
> at
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
> at org.apache.zookeeper.ClientCnxn$EventThread.run(ClientCnxn.java:501)
> "main-SendThread(tjtx-84-168.58os.org:2181)" #235 daemon prio=5 os_prio=0
> tid=0x00007f1a7596c000 nid=0x74be runnable [0x00007f194ea6f000]
> java.lang.Thread.State: RUNNABLE
> at sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
> at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
> at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:79)
> at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
> - locked <0x00000000c1da74d0> (a sun.nio.ch.Util$2)
> - locked <0x00000000c1da75a8> (a java.util.Collections$UnmodifiableSet)
> - locked <0x00000000c1ace0a0> (a sun.nio.ch.EPollSelectorImpl)
> at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
> at
> org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:349)
> at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1141)
> {code}
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)