<@U078Y59KC3B> does the receiver queue size includ...
# ask-ai
s
@RunLLM does the receiver queue size include messages that are in the middle of being processed or have been NACKed?
r
It seems likely that the receiver queue size in Pulsar only counts messages that have been delivered to the client but not yet passed to the application for processing. Once a message is handed off to the application (e.g., via a message listener or receive call), it is removed from the receiver queue, regardless of whether it is being processed or has been NACKed. NACKed messages are tracked separately and scheduled for redelivery, but they do not count toward the receiver queue size during their processing or redelivery delay window. This is supported by the explanations and code comments in the Pulsar client and documentation, which clarify that the receiver queue size controls the number of messages buffered before application processing, not those in-flight or NACKed (Pulsar concepts-messaging, ConsumerConfigurationData.java). Would you like more detail, such as how NACKed messages are tracked or how the queue interacts with message listeners? Sources: - Pulsar concepts-messaging - ConsumerConfigurationData.java ๐Ÿ‘ 0 button ๐Ÿ‘Ž 0 button ๐Ÿ’ก Hint: Mention @runllm in the thread for followups.
s
@RunLLM does the receiver queue size include messages that are in the middle of being processed or have been NACKed in case of Go pulsar client?
r
My understanding is that, for the Go Pulsar client, the receiver queue size only includes messages that have been prefetched from the broker and are waiting in the internal queue to be delivered to the application. Once a message is handed to the application (i.e., received via
Receive()
or from the message channel), it is no longer counted in the receiver queue sizeโ€”even if it is still being processed or has been NACKed. NACKed messages are tracked separately and scheduled for redelivery, but do not count toward the receiver queue size during their processing or redelivery delay (pulsar-client-go consumer.go, pulsar-client-go issue #398). Would you like more detail on how NACKed messages are managed or how the Go client handles message flow? Sources: - pulsar-client-go issue #398 - pulsar-client-go consumer.go ๐Ÿ‘ 0 button ๐Ÿ‘Ž 0 button ๐Ÿ’ก Hint: Mention @runllm in the thread for followups.