This is an automated email from the ASF dual-hosted git repository.

cadonna pushed a commit to branch kip1071
in repository https://gitbox.apache.org/repos/asf/kafka.git

commit deb38899cc9bdb9582974d48054c348699fa0401
Author: Alieh Saeedi <[email protected]>
AuthorDate: Wed Oct 2 14:37:49 2024 +0200

    KAFKA-17125: finalize TaskId (#17300)
---
 .../org/apache/kafka/coordinator/group/taskassignor/TaskId.java  | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git 
a/group-coordinator/src/main/java/org/apache/kafka/coordinator/group/taskassignor/TaskId.java
 
b/group-coordinator/src/main/java/org/apache/kafka/coordinator/group/taskassignor/TaskId.java
index 885858f700d..8991aeb11ca 100644
--- 
a/group-coordinator/src/main/java/org/apache/kafka/coordinator/group/taskassignor/TaskId.java
+++ 
b/group-coordinator/src/main/java/org/apache/kafka/coordinator/group/taskassignor/TaskId.java
@@ -18,12 +18,13 @@ package org.apache.kafka.coordinator.group.taskassignor;
 
 import java.util.Objects;
 
-public final class TaskId {
+public final class TaskId implements Comparable<TaskId> {
 
     private final String subtopologyId;
     private final int partition;
 
     public TaskId(final String subtopologyId, final int partition) {
+        Objects.requireNonNull(subtopologyId);
         this.subtopologyId = subtopologyId;
         this.partition = partition;
     }
@@ -65,6 +66,10 @@ public final class TaskId {
     }
 
     public int compareTo(final TaskId other) {
-        return this.hashCode() - other.hashCode();
+        int diff = subtopologyId.compareTo(other.subtopologyId);
+        if (diff == 0) {
+            diff = partition - other.partition;
+        }
+        return diff;
     }
 }

Reply via email to