Skip to content

KAFKA-19019: Add support for remote storage fetch for share groups #19437

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

Merged
merged 18 commits into from
Apr 21, 2025

Conversation

adixitconfluent
Copy link
Contributor

@adixitconfluent adixitconfluent commented Apr 10, 2025

What

This PR adds the support for remote storage fetch for share groups.

Limitation

There is a limitation in remote storage fetch for consumer groups that
we can only perform remote fetch for a single topic partition in a fetch
request. Since, the logic of share fetch requests is largely based on
how consumer
groups work, we are following similar logic in implementing remote
storage fetch. However, this problem
should be addressed as part of KAFKA-19133 which should help us perform
fetch for multiple remote fetch topic partition in a single share fetch
request.

Testing

I have followed the AK
documentation

to test my code locally (by adopting LocalTieredStorage.java) and with
the help of unit tests.

@github-actions github-actions bot added triage PRs from the community core Kafka Broker KIP-932 Queues for Kafka labels Apr 10, 2025
@AndrewJSchofield AndrewJSchofield added ci-approved and removed triage PRs from the community labels Apr 10, 2025
@adixitconfluent adixitconfluent marked this pull request as ready for review April 12, 2025 13:19
@adixitconfluent adixitconfluent changed the title KAFKA-19019: Add remote storage fetch for share groups KAFKA-19019: Add support for remote storage fetch for share groups Apr 12, 2025
Copy link
Contributor

@junrao junrao left a comment

Choose a reason for hiding this comment

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

@adixitconfluent : Thanks for the PR. Made a pass of the non-testing file. Left a few comments.

@adixitconfluent adixitconfluent requested a review from junrao April 15, 2025 09:03
Copy link
Contributor

@junrao junrao left a comment

Choose a reason for hiding this comment

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

@adixitconfluent : Thanks for the updated PR. A few more comments.

@adixitconfluent adixitconfluent requested a review from junrao April 16, 2025 07:14
Copy link
Contributor

@junrao junrao left a comment

Choose a reason for hiding this comment

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

@adixitconfluent : Thanks for the updated PR. A few more comments.

@adixitconfluent adixitconfluent requested a review from junrao April 17, 2025 08:04
Copy link
Contributor

@junrao junrao left a comment

Choose a reason for hiding this comment

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

@adixitconfluent : Thanks for the updated PR. A few more comments.

@adixitconfluent adixitconfluent requested a review from junrao April 19, 2025 09:54
Copy link
Contributor

@junrao junrao left a comment

Choose a reason for hiding this comment

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

@adixitconfluent : Thanks for the updated PR. A couple of more comments.

@adixitconfluent adixitconfluent requested a review from junrao April 21, 2025 17:22
Copy link
Contributor

@junrao junrao left a comment

Choose a reason for hiding this comment

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

@adixitconfluent : Thanks for the updated PR. Just a minor comment.

releasePartitionLocks(topicPartitionData.keySet());
partitionsAcquired.clear();
localPartitionsAlreadyFetched.clear();
return forceComplete();
Copy link
Contributor

Choose a reason for hiding this comment

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

Should we just call forceCompleteRequest() here to for consistency? We could optimize releasePartitionLocksAndAddToActionQueue() so that if doesn't add to the action queue if the acquired partition set is empty.

@adixitconfluent adixitconfluent requested a review from junrao April 21, 2025 17:48
Copy link
Contributor

@junrao junrao left a comment

Choose a reason for hiding this comment

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

@adixitconfluent : Thanks for the updated PR. LGTM

@junrao junrao merged commit a8f4999 into apache:trunk Apr 21, 2025
22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci-approved core Kafka Broker KIP-932 Queues for Kafka
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants