Description
Case-1:
In the FETCH response, the leader-log-start-offset will be piggy-backed. But, there can be a scenario:
- Leader deleted the remote log segment and updates it's log-start-offset
- Before the replica-2 update it's log-start-offset via FETCH-request, the leadership changed to replica-2.
- There are no more eligible segments to delete from remote.
- The log-start-offset will be stale (referring to old log-start-offset but the data was already removed from remote)
- If the consumer starts to read from the beginning of the topic, it will fail to read.
See this comment https://github.com/apache/kafka/pull/13561#discussion_r1293081560 for more details.
Case-3:
When tiered storage is enabled on the topic, and the last-standing-replica is restarted, then the log-start-offset should be updated upto log-start-offset-checkpoint offset.