You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Document share consumer poison message protection and delivery count
Add comprehensive documentation on KIP-932's broker-side poison message
protection mechanism. Clarifies that delivery count is broker-internal
and not exposed to applications.
Includes:
- How delivery count works and configuration via group.share.delivery.attempt.limit
- Retry strategy recommendations using RELEASE/REJECT/ACCEPT acknowledgment types
- Example showing proper error handling patterns for transient vs permanent failures
Addresses common questions about redelivery semantics in share consumers.
Signed-off-by: Soby Chacko <[email protected]>
Copy file name to clipboardExpand all lines: spring-kafka-docs/src/main/antora/modules/ROOT/pages/kafka/kafka-queues.adoc
+91Lines changed: 91 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -667,6 +667,96 @@ public void validateData(ConsumerRecord<String, String> record, ShareAcknowledgm
667
667
}
668
668
----
669
669
670
+
[[share-poison-message-protection]]
671
+
== Poison Message Protection and Delivery Count
672
+
673
+
KIP-932 includes broker-side poison message protection to prevent unprocessable records from being endlessly redelivered.
674
+
675
+
=== How It Works
676
+
677
+
Every time a record is acquired by a consumer in a share group, the broker increments an internal delivery count.
678
+
The first acquisition sets the delivery count to 1, and each subsequent acquisition increments it.
679
+
When the delivery count reaches the configured limit (default: 5), the record moves to **Archived** state and is not eligible for additional delivery attempts.
680
+
681
+
=== Configuration
682
+
683
+
The maximum delivery attempts can be configured per share group using the Admin API:
0 commit comments