eolivelli commented on PR #17762:
URL: https://github.com/apache/pulsar/pull/17762#issuecomment-1256060455
We have a problem with this PR.
There is a deadlock, as we are doing a blocking call to the metadatastore
inside the metadata store main thread.
I have seen this problem the first time we implemented getBookieServiceInfo
in BookKeeper in the ZKRegistrationClient.
I am working on it
```
"metadata-store-5239-1" #14301 prio=5 os_prio=31 cpu=41.80ms elapsed=872.17s
tid=0x00007fdd1df77800 nid=0x6630f waiting on condition [0x0000700015c3c000]
java.lang.Thread.State: WAITING (parking)
at jdk.internal.misc.Unsafe.park([email protected]/Native Method)
- parking to wait for <0x00000007d5868310> (a
java.util.concurrent.CompletableFuture$Signaller)
at
java.util.concurrent.locks.LockSupport.park([email protected]/LockSupport.java:194)
at
java.util.concurrent.CompletableFuture$Signaller.block([email protected]/CompletableFuture.java:1796)
at
java.util.concurrent.ForkJoinPool.managedBlock([email protected]/ForkJoinPool.java:3128)
at
java.util.concurrent.CompletableFuture.waitingGet([email protected]/CompletableFuture.java:1823)
at
java.util.concurrent.CompletableFuture.get([email protected]/CompletableFuture.java:1998)
at
org.apache.bookkeeper.common.concurrent.FutureUtils.result(FutureUtils.java:72)
at
org.apache.bookkeeper.common.concurrent.FutureUtils.result(FutureUtils.java:61)
at
org.apache.bookkeeper.client.DefaultBookieAddressResolver.resolve(DefaultBookieAddressResolver.java:43)
at
org.apache.bookkeeper.client.TopologyAwareEnsemblePlacementPolicy.resolveNetworkLocation(TopologyAwareEnsemblePlacementPolicy.java:804)
at
org.apache.bookkeeper.client.TopologyAwareEnsemblePlacementPolicy.createBookieNode(TopologyAwareEnsemblePlacementPolicy.java:794)
at
org.apache.bookkeeper.client.TopologyAwareEnsemblePlacementPolicy.convertBookiesToNodes(TopologyAwareEnsemblePlacementPolicy.java:822)
at
org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicyImpl.newEnsembleInternal(RackawareEnsemblePlacementPolicyImpl.java:390)
at
org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicyImpl.newEnsemble(RackawareEnsemblePlacementPolicyImpl.java:356)
at
org.apache.bookkeeper.client.RackawareEnsemblePlacementPolicy.newEnsemble(RackawareEnsemblePlacementPolicy.java:104)
at
org.apache.pulsar.bookie.rackawareness.IsolatedBookieEnsemblePlacementPolicy.newEnsemble(IsolatedBookieEnsemblePlacementPolicy.java:131)
at
org.apache.bookkeeper.client.BookieWatcherImpl.newEnsemble(BookieWatcherImpl.java:270)
at
org.apache.bookkeeper.client.LedgerCreateOp.initiate(LedgerCreateOp.java:161)
at
org.apache.bookkeeper.client.BookKeeper.asyncCreateLedger(BookKeeper.java:860)
at
org.apache.bookkeeper.mledger.impl.ManagedLedgerImpl.asyncCreateLedger(ManagedLedgerImpl.java:3809)
at
org.apache.bookkeeper.mledger.impl.ManagedLedgerImpl.initializeBookKeeper(ManagedLedgerImpl.java:500)
- locked <0x00000007d58685a0> (a
org.apache.bookkeeper.mledger.impl.ManagedLedgerImpl)
at
org.apache.bookkeeper.mledger.impl.ManagedLedgerImpl.access$400(ManagedLedgerImpl.java:147)
at
org.apache.bookkeeper.mledger.impl.ManagedLedgerImpl$1.operationComplete(ManagedLedgerImpl.java:434)
at
org.apache.bookkeeper.mledger.impl.ManagedLedgerImpl$1.operationComplete(ManagedLedgerImpl.java:366)
at
org.apache.bookkeeper.mledger.impl.MetaStoreImpl.lambda$getManagedLedgerInfo$1(MetaStoreImpl.java:127)
at
org.apache.bookkeeper.mledger.impl.MetaStoreImpl$$Lambda$842/0x0000000800928c40.accept(Unknown
Source)
at
java.util.concurrent.CompletableFuture$UniAccept.tryFire([email protected]/CompletableFuture.java:714)
at
java.util.concurrent.CompletableFuture.postComplete([email protected]/CompletableFuture.java:506)
at
java.util.concurrent.CompletableFuture.complete([email protected]/CompletableFuture.java:2073)
at
org.apache.pulsar.metadata.impl.ZKMetadataStore.lambda$internalStorePut$12(ZKMetadataStore.java:369)
at
org.apache.pulsar.metadata.impl.ZKMetadataStore$$Lambda$288/0x0000000800512040.run(Unknown
Source)
at
java.util.concurrent.Executors$RunnableAdapter.call([email protected]/Executors.java:515)
at
java.util.concurrent.FutureTask.run([email protected]/FutureTask.java:264)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run([email protected]/ScheduledThreadPoolExecutor.java:304)
at
java.util.concurrent.ThreadPoolExecutor.runWorker([email protected]/ThreadPoolExecutor.java:1128)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run([email protected]/ThreadPoolExecutor.java:628)
at
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.lang.Thread.run([email protected]/Thread.java:829)
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]