jolshan commented on code in PR #14845: URL: https://github.com/apache/kafka/pull/14845#discussion_r1414627867
########## group-coordinator/src/main/java/org/apache/kafka/coordinator/group/OffsetMetadataManager.java: ########## @@ -180,7 +185,78 @@ public OffsetMetadataManager build() { /** * The offsets keyed by group id, topic name and partition id. */ - private final TimelineHashMap<String, TimelineHashMap<String, TimelineHashMap<Integer, OffsetAndMetadata>>> offsetsByGroup; + private final Offsets offsets; + + /** + * The offsets keyed by producer id, group id, topic name and partition id. This Review Comment: This comment also confused me because we also use the same nested 3 data structures to store the committed offsets it seems. So we have offsetsByGroup -> all committed offsets where we don't care about producer ID pendingTransactionalOffsets -> a mapping of producer id -> offsetsByGroup (for only that producer) for all uncommitted txn offsets On abort we remove the producer id's entries, and on commit we add them to offsetsByGroup. Is this correct? -- 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