ableegoldman commented on code in PR #16024: URL: https://github.com/apache/kafka/pull/16024#discussion_r1608950503
########## streams/src/main/java/org/apache/kafka/streams/processor/assignment/TopicPartitionAssignmentInfo.java: ########## @@ -0,0 +1,45 @@ +package org.apache.kafka.streams.processor.assignment; + +import java.util.Optional; +import java.util.Set; + +/** + * This is a simple container class used during the assignment process to distinguish + * TopicPartitions type. Since the assignment logic can depend on the type of topic we're + * looking at, and the rack information of the partition, this container class should have + * everything necessary to make informed task assignment decisions. + */ +public interface TopicPartitionAssignmentInfo { Review Comment: I mean I do agree on keeping it scoped to the assignment, and putting it under the assignment package should be effective enough. I was more thinking along the lines of marking a clear distinction between interfaces/metadata that falls under the `ApplicationState`/input status vs things that fall under the `TaskAssignment`/output category. Unfortunately "assignment" is just an overloaded term, but since it's correlated with assignor output in other class names, I think it's best not to use it in class names to also mean "related to the assignor" since putting it under the assignment package is another way to signal that -- 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