You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Evan Zhou (Jira)" <ji...@apache.org> on 2026/06/03 19:50:00 UTC

[jira] [Created] (KAFKA-20660) Add guardrail to detect use of legacy ConsumerRecords constructor via nextOffsets()

Evan Zhou created KAFKA-20660:
---------------------------------

             Summary: Add guardrail to detect use of legacy ConsumerRecords constructor via nextOffsets()
                 Key: KAFKA-20660
                 URL: https://issues.apache.org/jira/browse/KAFKA-20660
             Project: Kafka
          Issue Type: Task
          Components: clients
            Reporter: Evan Zhou
            Assignee: Evan Zhou
             Fix For: 4.1.3, 4.0.3, 4.3.1, 4.4.0, 4.2.2


KIP-1094 added a nextOffsets map to ConsumerRecords and deprecated the old ConsumerRecords(Map) constructor. From Kafka Streams 4.0, StreamThread relies on ConsumerRecords#nextOffsets() to advance committed offsets. Any consumer interceptor or wrapper that still constructs ConsumerRecords with the legacy constructor silently returns an empty nextOffsets map. For those partitions, Streams processes the records but never commits them, so under EOS the records are reprocessed after a restart.




--
This message was sent by Atlassian Jira
(v8.20.10#820010)