You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by GitBox <gi...@apache.org> on 2019/06/21 01:46:19 UTC

[GitHub] [pulsar] yjshen opened a new issue #4573: [managed-ledger] create bookkeeper client during ManagedLedger shutdown

yjshen opened a new issue #4573: [managed-ledger] create bookkeeper client during ManagedLedger shutdown
URL: https://github.com/apache/pulsar/issues/4573
 
 
   During `ManagedLedgerFactoryImpl.shutdown()`, the zookeeper client is closed first and when `isBookkeeperManager`, it will get a bookkeeper from `bookkeeperFactory.get()` which result in creating new BookKeeper client using closed zk client, which caused this bug.
   
   ```
   java.lang.IllegalStateException: java.io.IOException: org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss
   
   	at org.apache.bookkeeper.mledger.impl.ManagedLedgerFactoryImpl.lambda$new$0(ManagedLedgerFactoryImpl.java:125)
   	at org.apache.bookkeeper.mledger.impl.ManagedLedgerFactoryImpl$BookkeeperFactoryForCustomEnsemblePlacementPolicy.get(ManagedLedgerFactoryImpl.java:614)
   	at org.apache.bookkeeper.mledger.impl.ManagedLedgerFactoryImpl.shutdown(ManagedLedgerFactoryImpl.java:431)
   	at org.apache.pulsar.segment.pulsar.PulsarSegmentSourceBuilder.build(PulsarSegmentSourceBuilder.java:143)
   	at org.apache.pulsar.segment.impl.SegmentEntryReaderImplTest.getNonPartitionedTopicSegments(SegmentEntryReaderImplTest.java:137)
   	at org.apache.pulsar.segment.impl.SegmentEntryReaderImplTest.testReadEntriesFromCompleteLogSegment(SegmentEntryReaderImplTest.java:151)
   	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
   	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   	at java.lang.reflect.Method.invoke(Method.java:498)
   	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
   	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
   	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
   	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
   	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
   	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
   	at org.junit.rules.TestWatcher$1.evaluate(TestWatcher.java:55)
   	at org.junit.rules.RunRules.evaluate(RunRules.java:20)
   	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
   	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
   	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
   	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
   	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
   	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
   	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
   	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
   	at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
   	at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)
   	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
   	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
   	at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
   	at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
   	at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
   	at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
   Caused by: java.io.IOException: org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss
   	at org.apache.bookkeeper.client.BookKeeper.validateZooKeeper(BookKeeper.java:342)
   	at org.apache.bookkeeper.client.BookKeeper.<init>(BookKeeper.java:368)
   	at org.apache.bookkeeper.mledger.impl.ManagedLedgerFactoryImpl.lambda$new$0(ManagedLedgerFactoryImpl.java:123)
   	... 33 more
   Caused by: org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss
   	at org.apache.zookeeper.KeeperException.create(KeeperException.java:102)
   	... 36 more
   ```
   
   

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services