You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by "Ultranium (via GitHub)" <gi...@apache.org> on 2025/04/19 09:13:32 UTC
[D] Function timeout when using MANUAL processing guarantees [pulsar]
GitHub user Ultranium created a discussion: Function timeout when using MANUAL processing guarantees
I am investigating a weird issue with missing acks when using an async function that publishes 0..∞ messages per invocation, so the `processingGuarantees` config parameter is set to MANUAL.
A small percentage of messages doesn't get ack'd for some reason, and both the user and system exception counters stay at zero, so the backlog grows over the time. It seems that the function sometimes just hangs, not acknowledging nor failing the received message.
My question is: how does Pulsar handles these possible function hangs? I know, there is the `timeoutMs` function config parameter, but it's not applicable when using MANUAL acknowledgments.
What exactly happens to those messages that got stuck in processing? Would they be redelivered later?
And I also would like to learn about best practices when using manual acknowledgments. I can make a timer inside my function that will be failing the current record in case the processing takes too long, but this doesn't sound reliable enough, because the timer logic itself could also fail in some rare cases.
GitHub link: https://github.com/apache/pulsar/discussions/24188
----
This is an automatically sent email for commits@pulsar.apache.org.
To unsubscribe, please send an email to: commits-unsubscribe@pulsar.apache.org