Abhilash Mandaliya
09/19/2025, 11:33 AMEFFECTIVELY_ONCE guarantee and the sink calls the record.fail()?Abhilash Mandaliya
09/19/2025, 11:35 AMLari Hotari
09/19/2025, 12:51 PMAbhilash Mandaliya
09/19/2025, 1:52 PMDavid K
09/19/2025, 3:07 PMEFFECTIVELY_ONCE is set, the message is NOT negatively acknowledged (consumer.negativeAcknowledge(message) is skipped). Instead, a RuntimeException is thrown.
Why this design?: This behavior aligns with exactly-once semantics:
• Negative acknowledgment would typically cause message redelivery
• With exactly-once processing, you want to avoid automatic redelivery that could lead to duplicate processing
• The exception bubbles up to higher-level error handling, allowing the system to decide how to handle the failure (restart, dead letter queue, etc.)David K
09/19/2025, 3:10 PMAbhilash Mandaliya
09/20/2025, 6:54 AMDavid K
09/22/2025, 6:02 PMAbhilash Mandaliya
09/23/2025, 4:49 AM