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)