Nikhil Ramakrishnan created KAFKA-15695:
-------------------------------------------

             Summary: Local log start offset is not updated on the follower 
after rebuilding remote log auxiliary state
                 Key: KAFKA-15695
                 URL: https://issues.apache.org/jira/browse/KAFKA-15695
             Project: Kafka
          Issue Type: Bug
          Components: replication, Tiered-Storage
    Affects Versions: 3.6.0
            Reporter: Nikhil Ramakrishnan
             Fix For: 3.7.0


In 3.6, the local log start offset is not updated when reconstructing the 
auxiliary state of the remote log on a follower.

The impact of this bug is significant because, if this follower becomes the 
leader before the local log start offset has had a change to be updated, reads 
from any offset between [wrong log start offset; actual log start offset] will 
be routed on the local storage, which does not contain the corresponding data. 
Consumer reads will in this case never be satisfied.

 

Reproduction case:
 # Create a cluster with 2 brokers, broker 0 and broker 1.
 # Create a topic topicA with RF=2, 1 partition (topicA-0) and 2 batches per 
segment, with broker 0 as the leader.
 # Stop broker 1, and produce 3 records to topicA, such that segment 1 with the 
first two records are copied to remote and deleted from local storage.
 # Start broker 1, let it catch up with broker 0.
 # Stop broker 0 such that broker 1 is elected as the leader, and try to 
consume from the beginning of topicA-0.

This consumer read will not be satisfied because the local log start offset is 
not updated on broker 1 when it builds the auxiliary state of the remote log 
segments.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to