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 2020/11/11 12:37:12 UTC
[GitHub] [pulsar] tomas-c commented on issue #8484: ackTimeoutMillis is set to 30000 when ConsumerBuilder.deadLetterPolicy is called
tomas-c commented on issue #8484:
URL: https://github.com/apache/pulsar/issues/8484#issuecomment-725399618
Hey @codelipenghui !
If it's something small, I could have a try but just to make it clear - I haven't observed DLQ not working with NACKs.
I was just surprised by deadLetterPolicy() auto-setting ackTImeoutMillis to 30s and breaking my time-consuming message processing. And also confused by changes in #3014 implying that ackTImeoutMillis was necessary (but I now see that NACKs were implemented after the DLQ feature so makes sense why it was the default at that time).
If ackTimeoutMillis is no longer required for DLQ to work, would it make sense to change this default? Or would people be worried about this being a backwards-incompatible change as it would disable ack timeout for people who (possibly accidentally) enabled it by enabling the DLQ?
Besides my confusion, there's another possible one that changing this default would prevent:
```
consumerBuilder
.ackTimeout(0, TimeUnit.MILLISECONDS)
.deadLetterPolicy(DeadLetterPolicy.builder().build())
.subscribe()
```
results in ack timeout set to 30s but
```
consumerBuilder
.deadLetterPolicy(DeadLetterPolicy.builder().build())
.ackTimeout(0, TimeUnit.MILLISECONDS)
.subscribe()
```
results in ack timeout disabled.
----------------------------------------------------------------
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