jerrypeng opened a new pull request #9554:
URL: https://github.com/apache/pulsar/pull/9554


   ### Motivation
   
   When multiple producers contend to become the exclusive producer.  A race 
condition can occur and the following exception can happen but gets silently 
swallowed which eventually leads to a client timeout.
   
   21:44:46.038 [ForkJoinPool.commonPool-worker-2] ERROR 
org.apache.pulsar.broker.service.AbstractTopic - got error: 
java.util.NoSuchElementException
   java.util.NoSuchElementException: null
        at 
java.util.concurrent.ConcurrentHashMap$KeyIterator.next(ConcurrentHashMap.java:3416)
 ~[?:1.8.0_231]
        at 
java.util.concurrent.ConcurrentHashMap$KeyIterator.nextElement(ConcurrentHashMap.java:3423)
 ~[?:1.8.0_231]
        at 
org.apache.pulsar.broker.service.AbstractTopic.incrementTopicEpochIfNeeded(AbstractTopic.java:399)
 ~[pulsar-broker.jar:2.8.0-SNAPSHOT]
        at 
org.apache.pulsar.broker.service.AbstractTopic.addProducer(AbstractTopic.java:346)
 ~[pulsar-broker.jar:2.8.0-SNAPSHOT]
        at 
org.apache.pulsar.broker.service.persistent.PersistentTopic.addProducer(PersistentTopic.java:509)
 ~[pulsar-broker.jar:2.8.0-SNAPSHOT]
        at 
org.apache.pulsar.broker.service.ServerCnx.lambda$null$22(ServerCnx.java:1183) 
~[pulsar-broker.jar:2.8.0-SNAPSHOT]
        at 
java.util.concurrent.CompletableFuture.uniAccept(CompletableFuture.java:656) 
~[?:1.8.0_231]
        at 
java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:632)
 ~[?:1.8.0_231]
        at 
java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474) 
~[?:1.8.0_231]
        at 
java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:1962) 
~[?:1.8.0_231]
        at 
org.apache.pulsar.broker.service.schema.BookkeeperSchemaStorage.lambda$null$6(BookkeeperSchemaStorage.java:230)
 ~[pulsar-broker.jar:2.8.0-SNAPSHOT]
        at 
java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:822) 
[?:1.8.0_231]
        at 
java.util.concurrent.CompletableFuture$UniHandle.tryFire(CompletableFuture.java:797)
 [?:1.8.0_231]
        at 
java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:443)
 [?:1.8.0_231]
        at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) 
[?:1.8.0_231]
        at 
java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056) 
[?:1.8.0_231]
        at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692) 
[?:1.8.0_231]
        at 
java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157) 
[?:1.8.0_231]
   
   
   


----------------------------------------------------------------
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:
[email protected]


Reply via email to