adixitconfluent commented on code in PR #19148:
URL: https://github.com/apache/kafka/pull/19148#discussion_r1990656903


##########
server/src/main/java/org/apache/kafka/server/share/ErroneousAndValidPartitionData.java:
##########
@@ -20,47 +20,48 @@
 import org.apache.kafka.common.TopicIdPartition;
 import org.apache.kafka.common.message.ShareFetchResponseData;
 import org.apache.kafka.common.protocol.Errors;
-import org.apache.kafka.common.requests.ShareFetchRequest;
 import org.apache.kafka.common.requests.ShareFetchResponse;
 
+import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 /**
  * Helper class to return the erroneous partitions and valid partition data
  */
 public class ErroneousAndValidPartitionData {
     private final Map<TopicIdPartition, ShareFetchResponseData.PartitionData> 
erroneous;
-    private final Map<TopicIdPartition, ShareFetchRequest.SharePartitionData> 
validTopicIdPartitions;
+    private final List<TopicIdPartition> validTopicIdPartitions;
 
     public ErroneousAndValidPartitionData(Map<TopicIdPartition, 
ShareFetchResponseData.PartitionData> erroneous,
-                                          Map<TopicIdPartition, 
ShareFetchRequest.SharePartitionData> validTopicIdPartitions) {
+                                          List<TopicIdPartition> 
validTopicIdPartitions) {
         this.erroneous = erroneous;
         this.validTopicIdPartitions = validTopicIdPartitions;
     }
 
-    public ErroneousAndValidPartitionData(Map<TopicIdPartition, 
ShareFetchRequest.SharePartitionData> shareFetchData) {
+    public ErroneousAndValidPartitionData(List<TopicIdPartition> 
shareFetchData) {
         erroneous = new HashMap<>();
-        validTopicIdPartitions = new HashMap<>();
-        shareFetchData.forEach((topicIdPartition, sharePartitionData) -> {
+        validTopicIdPartitions = new ArrayList<>();
+        shareFetchData.forEach(topicIdPartition -> {
             if (topicIdPartition.topic() == null) {
                 erroneous.put(topicIdPartition, 
ShareFetchResponse.partitionResponse(topicIdPartition, 
Errors.UNKNOWN_TOPIC_ID));
             } else {
-                validTopicIdPartitions.put(topicIdPartition, 
sharePartitionData);
+                validTopicIdPartitions.add(topicIdPartition);
             }
         });
     }
 
     public ErroneousAndValidPartitionData() {
         this.erroneous = new HashMap<>();
-        this.validTopicIdPartitions = new HashMap<>();
+        this.validTopicIdPartitions = new ArrayList<>();

Review Comment:
   you're right, the default constructor `ErroneousAndValidPartitionData()` is 
only utilized in `FinalContext` and we don't modify the `erroneous` or 
`validTopicIdPartitions` post initialization. We only iterate over it. Hence, 
changed the code to -
   ```
   public ErroneousAndValidPartitionData() {
           this.erroneous = Map.of();
           this.validTopicIdPartitions = List.of();
       }
   ```



-- 
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: jira-unsubscr...@kafka.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to