feat(inkless): Support OffsetsForLeaderEpoch for partitions switched to diskless - #613
Conversation
88f2337 to
29edefc
Compare
There was a problem hiding this comment.
Pull request overview
Adds hybrid routing for OffsetsForLeaderEpoch so partitions that are transitioning to diskless (or have just switched) can still answer epoch-offset queries correctly from the classic local log when appropriate.
Changes:
- Refactors
ReplicaManager.lastOffsetForLeaderEpochto route requests between classic local log and diskless control-plane lookups based onclassicToDisklessStartOffset. - Defers creation/start of the diskless
FetchOffsetHandler.Jobuntil a diskless lookup is actually needed. - Adds unit tests covering switch-pending and switch-boundary cases, and updates test scaffolding defaults for
classicToDisklessStartOffset.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| core/src/main/scala/kafka/server/ReplicaManager.scala | Implements hybrid routing logic for OffsetsForLeaderEpoch across classic/diskless states. |
| core/src/test/scala/unit/kafka/server/ReplicaManagerTest.scala | Adds regression tests for switch-pending and switch-boundary behavior; updates metadata-view stubbing. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
29edefc to
1d8946b
Compare
1d8946b to
c577bcf
Compare
viktorsomogyi
left a comment
There was a problem hiding this comment.
@giuseppelillo LGTM but please rebase it on main because I see there are some commits that have been just merged. Probably they would be fine with merging but perhaps it's cleaner if they are cleaned up.
c577bcf to
d8a6a79
Compare
Done |
No description provided.