squah-confluent commented on code in PR #22788: URL: https://github.com/apache/kafka/pull/22788#discussion_r3632876990
########## group-coordinator/src/main/java/org/apache/kafka/coordinator/group/streams/assignor/MemberAssignmentImpl.java: ########## @@ -16,28 +16,31 @@ */ package org.apache.kafka.coordinator.group.streams.assignor; +import org.apache.kafka.coordinator.group.api.streams.assignor.MemberAssignment; + +import java.util.HashMap; import java.util.Map; import java.util.Objects; import java.util.Set; /** * The task assignment for a streams group member. * - * @param activeTasks The active tasks assigned to this member keyed by subtopologyId. - * @param standbyTasks The standby tasks assigned to this member keyed by subtopologyId. - * @param warmupTasks The warm-up tasks assigned to this member keyed by subtopologyId. + * @param activeTasks The active tasks assigned to this member keyed by subtopology Id. + * @param standbyTasks The standby tasks assigned to this member keyed by subtopology Id. + * The maps are not made immutable, since the server-side assignors rely on + * being able to mutate them while building new assignments. Review Comment: This is confusing to me. This is part of the assignor output isn't it? If we look at the consumer assignors, the server doesn't rely on mutability, but the assignor implementation does, for copy-on-write. It's purely for the benefit of assignor implementors and they're free to pass in immutable maps themselves. -- 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]
