Versions Compared

Key

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

...

This API is enhanced with supporting new target timestamp value as -3 which is called NEXT_LOCAL_TIMESTAMP. There will not be any new fields added in request and response schemes but there will be a version bump to indicate the version update. This request is about the offset that the followers should start fetching to replicate the local logs. All the records earlier to this offset can be considered as copied to the remote storage. This is used by follower replicas to avoid fetching records that are already copied to remote tier storage and those segments are not available locally on the leader.

When a follower replica tries needs to fetch records and it receives offset out of range error then the follower the earliest messages that are to be replicated then it sends a request with target timestamp as NEXT_LOCAL_TIMESTAMP so that it can fetch messages starting from earliest messages locally available up to which records are already copied to remote storage.

For timestamps >= 0, it returns the first message offset whose timestamp is >= to the given timestamp in the request. That means it checks in remote log time indexes first, after which local log time indexes are checked. 

...