feat(inkless): POD-2393 Add DisklessLeaderEndPoint to handle fetch requests#568
Merged
feat(inkless): POD-2393 Add DisklessLeaderEndPoint to handle fetch requests#568
Conversation
jeqo
previously approved these changes
Apr 13, 2026
Contributor
jeqo
left a comment
There was a problem hiding this comment.
LGTM. just a minor comment, but not a blocker.
46c4f29 to
f83fabd
Compare
This commit fills the implementation of DisklessLeaderEndPoint and also adds a unit test. DisklessLeaderEndPoint uses FetchHandler and FetchOffsetHandler similarly to the consume path in Inkless.
f83fabd to
d0c7e27
Compare
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a diskless (Inkless/object-storage-backed) LeaderEndPoint implementation used by the consolidation fetcher path, wiring it into ReplicaManager / ConsolidationFetcherManager and providing unit tests.
Changes:
- Implement
DisklessLeaderEndPointusingFetchHandler(fetch) andFetchOffsetHandler(list-offsets style APIs). - Wire consolidation fetcher creation to reuse
ReplicaManager’s Inkless handlers (and warn when consolidation is enabled but Inkless isn’t configured). - Add
DisklessLeaderEndPointTestand exclude Inkless Scala tests from RAT checks.
Reviewed changes
Copilot reviewed 4 out of 5 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| core/src/main/scala/io/aiven/inkless/consolidation/DisklessLeaderEndPoint.scala | Implements the diskless leader endpoint for the consolidation fetcher flow. |
| core/src/main/scala/io/aiven/inkless/consolidation/ConsolidationFetcherManager.scala | Passes Inkless fetch/offset handlers into the diskless endpoint. |
| core/src/main/scala/kafka/server/ReplicaManager.scala | Creates ConsolidationFetcherManager only when Inkless handlers are available. |
| core/src/test/scala/io/aiven/inkless/consolidation/DisklessLeaderEndPointTest.scala | Adds unit tests covering fetch/buildFetch/list-offsets/epoch-end-offset behavior. |
| build.gradle | Updates RAT excludes to include Inkless Scala tests. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
jeqo
approved these changes
Apr 24, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This commit adds the implementation for DisklessLeaderEndPoint. It uses FetchHandler and FetchOffsetHandler to fetch from the diskless coordinator and append to the local log (which is handled by the fetcher thread).