Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Note that the way broker handles PurgeRequest is similar to how it handles ProduceRequest with ack = -1 all and isr=all_live_replicas, e.g. the leader waits for all followers to catch up with its log_begin_offset, doesn't expose message below log_begin_offset, and checkpoints log_begin_offset periodically. The low_watermark of a partition will be the minimum log_begin_offset of all replicas of this partition and this value will be returned to user in PurgeResponse.

...

  • If log_begin_offset of this partition on all live followers is larger than or equal to the offsetToPurge, the result of this partition will be its low_watermark, which is the minimum log_begin_offset of all its live replicas.
  • If high_watermark of this partition is smaller than the offsetToPurge, the result of this partition will be OffsetOutOfRangeException.
    If any replica of this partition goes offline, the result of this partition will be NotEnoughReplicasException
  • If the leadership of this partition moves to another broker, the result of this partition will be NotLeaderException
  • If the result of this partition is not available after RequestTimeoutMs, the result of this partition will be TimeoutException

...