lucasbru commented on code in PR #19802: URL: https://github.com/apache/kafka/pull/19802#discussion_r2106715246
########## group-coordinator/src/main/java/org/apache/kafka/coordinator/group/streams/StreamsGroup.java: ########## @@ -582,54 +592,44 @@ public Set<String> currentWarmupTaskProcessIds( } /** - * @return An immutable map of partition metadata for each topic that are inputs for this streams group. + * @return The metadata hash. */ - public Map<String, TopicMetadata> partitionMetadata() { - return Collections.unmodifiableMap(partitionMetadata); + public long metadataHash() { + return metadataHash.get(); } /** - * Updates the partition metadata. This replaces the previous one. + * Updates the metadata hash. * - * @param partitionMetadata The new partition metadata. + * @param metadataHash The new metadata hash. */ - public void setPartitionMetadata( - Map<String, TopicMetadata> partitionMetadata - ) { - this.partitionMetadata.clear(); - this.partitionMetadata.putAll(partitionMetadata); - maybeUpdateConfiguredTopology(); - maybeUpdateGroupState(); Review Comment: ConfiguredTopology can be derived completely from the records for `PartitionMetadata` and `Topology`. So we just need to cache it, and can recreate it upon the first heartbeat after failover. We could consider persisting it, but that would just mean storing somewhat duplicate data. `state` is also derived from the other records. -- 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