pulsar-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From GitBox <...@apache.org>
Subject [GitHub] rdhabalia commented on issue #3708: [pulsar-broker] execute zk-cache result-callback in external executor
Date Thu, 28 Feb 2019 02:24:49 GMT
rdhabalia commented on issue #3708: [pulsar-broker] execute zk-cache result-callback in external
executor
URL: https://github.com/apache/pulsar/pull/3708#issuecomment-468110967
 
 
   I think running zk-cache callback into OrderedExecutor might not be the good idea because
`orderedExecutor-thread` calls zk-cache and if callback gets executed into the same executor
then it will again cause the deadlock. So, have to figure out better solution here.
   ```
   ZookeeperCacheTest-OrderedScheduler-2-0" #14 prio=5 os_prio=31 tid=0x00007ffa04274000 nid=0x5903
waiting on condition [0x0000700006c46000]
      java.lang.Thread.State: TIMED_WAITING (parking)
           at sun.misc.Unsafe.park(Native Method)
           - parking to wait for  <0x0000000799175880> (a java.util.concurrent.CompletableFuture$Signaller)
           at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
           at java.util.concurrent.CompletableFuture$Signaller.block(CompletableFuture.java:1695)
           at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3323)
           at java.util.concurrent.CompletableFuture.timedGet(CompletableFuture.java:1775)
           at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1915)
           at org.apache.pulsar.zookeeper.ZooKeeperCache.getData(ZooKeeperCache.java:288)
           at org.apache.pulsar.zookeeper.ZooKeeperDataCache.reloadCache(ZooKeeperDataCache.java:119)
           at org.apache.pulsar.zookeeper.ZooKeeperCache$1.safeRun(ZooKeeperCache.java:132)
           at org.apache.bookkeeper.common.util.SafeRunnable.run(SafeRunnable.java:36)
           at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
           at java.util.concurrent.FutureTask.run(FutureTask.java:266)
           at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
           at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
           at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
           at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
           at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
           at java.lang.Thread.run(Thread.java:745)
   ```

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

Mime
View raw message