Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce the S3 sink for consumer groups offsets #996

Merged
merged 3 commits into from
Nov 6, 2023

Conversation

stheppi
Copy link
Contributor

@stheppi stheppi commented Oct 31, 2023

The sink stores the latest offsets for a group-topic-partition under a key: $bucket/[$prefix]/$group/$topic/$partition

Since eventually the latest offset is written, the connector does not need to track the offsets for a given key, thus reducing the complexity.

Consumer offsets topic contains OffsetsKey messages and GroupMetadata. The latter is ignored since it deals with the group information.

stheppi added 2 commits October 31, 2023 19:50
The sink stores the latest offsets for a group-topic-partition under a key: $bucket/[$prefix]/$group/$topic/$partition

Since eventually the latest offset is written, the connector does not need to track the offsets for a given key, thus reducing the complexity.

Consumer offsets topic contains OffsetsKey messages and GroupMetadata. The latter is ignored since it deals with the group information.
case (groupTopicPartition, action) =>
val s3KeySuffix =
s"${groupTopicPartition.group}/${groupTopicPartition.topic}/${groupTopicPartition.partition}"
val s3Key = location.prefix.fold(s3KeySuffix)(prefix => s"$prefix/$s3KeySuffix")
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Prefix set as bucket/a/b/c/

@stheppi fix it

Ensure the prefix with ending / is corrected
@stheppi stheppi merged commit d5e0de2 into release/5.0.0 Nov 6, 2023
139 checks passed
@stheppi stheppi deleted the feat/s3_consumer_offsets branch November 6, 2023 20:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant