aashish-confluent commented on code in PR #24015:
URL: https://github.com/apache/kafka/pull/24015#discussion_r4450754776


##########
streams/src/main/java/org/apache/kafka/streams/kstream/internals/KTableImpl.java:
##########
@@ -1505,7 +1505,15 @@ public Optional<Set<Integer>> partitions(final String 
topic,
                                                  final Headers headers,
                                                  final int numPartitions) {
             final Integer partition = value.primaryPartition();
-            return partition == null ? Optional.empty() : 
Optional.of(Set.of(partition));
+            if (partition == null) {
+                return Optional.empty();
+            }
+            if (partition < 0 || partition >= numPartitions) {

Review Comment:
   **Some cases:**       
                                                                                
                                                                                
                   
   1. **Punctuation:** the partition is -1 there, so a `processValues()` 
punctuator forwarding into toTable() + FK join fails with "Invalid partition: 
-1". With the guard it falls back to the default partitioner.    
                                                                                
                                                                                
                            
   2. A corrupted subscription record with `partition >= numPartitions: `the 
producer times out after `max.block.ms `and the task keeps retrying the same 
record. 



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to