You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@kafka.apache.org by "Lianet Magrans (Jira)" <ji...@apache.org> on 2025/10/10 15:05:00 UTC

[jira] [Created] (KAFKA-19781) Consumer NoOffsetForPartitionException for partitions being revoked

Lianet Magrans created KAFKA-19781:
--------------------------------------

             Summary: Consumer NoOffsetForPartitionException for partitions being revoked
                 Key: KAFKA-19781
                 URL: https://issues.apache.org/jira/browse/KAFKA-19781
             Project: Kafka
          Issue Type: Bug
          Components: clients, consumer
            Reporter: Lianet Magrans
            Assignee: Lianet Magrans
             Fix For: 4.2.0


Currently, the consumer attempts to update positions for all partitions it owns that don't have a position, even when the partition may be already being revoked. This could lead to NoOffsetForPartitionException for such partitions (if there is no reset strategy defined). There are 2 main issues around this:
 * is probably unneeded work to fetch offsets and update positions for partitions being revoked, and at that point we're actually not allowing fetching from there anymore
 * throwing NoOffsetForPartitionException may lead applications to take action to set positions themselves, which will most probably fail (the partition will most probably not owned by the consumer anymore since it was already being revoked when the NoOffsetForPartitionException was generated). We've seen this on Kafka Streams, that handled NoOffsetForPartitionException by calling seek to set positions.   

This task is to review if there are no other implications I may be missing? Then fix to ensure we don't update positions for partitions being revoked (aligned with how we don't allow fetching from them)

 



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