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 2022/07/18 11:54:15 UTC
[GitHub] [pulsar] leizhiyuan opened a new issue, #16653: ReconsumeLater will hang up if retryLetterProducer create fail
leizhiyuan opened a new issue, #16653:
URL: https://github.com/apache/pulsar/issues/16653
**Describe the bug**
A clear and concise description of what the bug is.
ReconsumeLater will hang up if retryLetterProducer create fail
**To Reproduce**
Steps to reproduce the behavior:
1. create a consumer with retry policy
2. invoke ReconsumeLater method in messagelistener
3. make this fail ` this.retryLetterProducer = this.client.newProducer(this.schema).topic(this.deadLetterPolicy.getRetryLetterTopic()).enableBatching(false).blockIfQueueFull(false).create(); this will occurs because of permission or other reason
`
4. you will see
```
"pulsar-external-listener-3-1" #30 prio=5 os_prio=31 tid=0x00000001532b4800 nid=0x9803 waiting on condition [0x00000002820ba000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x000000071aaae9d8> (a java.util.concurrent.CompletableFuture$Signaller)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
at java.util.concurrent.CompletableFuture$Signaller.block(CompletableFuture.java:1707)
at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3323)
at java.util.concurrent.CompletableFuture.waitingGet(CompletableFuture.java:1742)
at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1908)
at org.apache.pulsar.client.impl.ConsumerBase.reconsumeLater(ConsumerBase.java:334)
at org.example.SimpleConsumer$1.received(SimpleConsumer.java:57)
at org.apache.pulsar.client.impl.ConsumerBase.callMessageListener(ConsumerBase.java:898)
at org.apache.pulsar.client.impl.ConsumerBase.lambda$triggerListener$7(ConsumerBase.java:877)
at org.apache.pulsar.client.impl.ConsumerBase$$Lambda$138/24784720.run(Unknown Source)
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:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.pulsar.shade.io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.lang.Thread.run(Thread.java:750)
```
**Expected behavior**
A clear and concise description of what you expected to happen.
fail fast
the reason is
```
CompletableFuture<Void> result = new CompletableFuture();
```
only log an exception will make result won't complete.
we need to complete the future
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Desktop (please complete the following information):**
- OS: [e.g. iOS]
**Additional context**
Add any other context about the problem here.
--
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: commits-unsubscribe@pulsar.apache.org.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [pulsar] codelipenghui closed issue #16653: ReconsumeLater will hang up if retryLetterProducer create fail
Posted by GitBox <gi...@apache.org>.
codelipenghui closed issue #16653: ReconsumeLater will hang up if retryLetterProducer create fail
URL: https://github.com/apache/pulsar/issues/16653
--
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: commits-unsubscribe@pulsar.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org