Skip to content

feat(inkless): POD-2393 Add DisklessLeaderEndPoint to handle fetch requests#568

Merged
jeqo merged 3 commits intomainfrom
svv/ts-unification-endpoint
Apr 24, 2026
Merged

feat(inkless): POD-2393 Add DisklessLeaderEndPoint to handle fetch requests#568
jeqo merged 3 commits intomainfrom
svv/ts-unification-endpoint

Conversation

@viktorsomogyi
Copy link
Copy Markdown
Contributor

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).

jeqo
jeqo previously approved these changes Apr 13, 2026
Copy link
Copy Markdown
Contributor

@jeqo jeqo left a comment

Choose a reason for hiding this comment

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

LGTM. just a minor comment, but not a blocker.

Comment thread core/src/main/scala/kafka/server/ReplicaManager.scala
@viktorsomogyi viktorsomogyi force-pushed the svv/ts-unification-endpoint branch from 46c4f29 to f83fabd Compare April 21, 2026 12:10
Base automatically changed from svv/ts-unification-fetchers to main April 22, 2026 08:33
@giuseppelillo giuseppelillo dismissed jeqo’s stale review April 22, 2026 08:33

The base branch was changed.

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.
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

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 DisklessLeaderEndPoint using FetchHandler (fetch) and FetchOffsetHandler (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 DisklessLeaderEndPointTest and 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 jeqo merged commit 8c6a27d into main Apr 24, 2026
4 checks passed
@jeqo jeqo deleted the svv/ts-unification-endpoint branch April 24, 2026 16:30
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.

3 participants