Skip to content

storage: Generalize position tracking in LogManager

For #6528 (closed)

This MR refactors LogManager to decouple position tracking from consumer acknowledgment, addressing the limitations in the existing interface. The changes simplify LogManager by removing awareness of specific position types and standardizing the acknowledgment interface. In details:

  • Centralize TransactionManager creation via partition.Factory.
  • A dedicated PositionTracker is introduced to manage tracking positions universally, enabling future extensibility for additional consumers.
  • Setup position tracker in partition.Factory. This tracker is then passed into log.Manager.
  • Remove all direct access to positions through log.Manager.

This is a prerequisite for #6303. In that issue, we'll introduce a new type of position tracking to the log manager: Raft committed LSN.

Edited by Quang-Minh Nguyen

Merge request reports

Loading