sanjiv marathe created KAFKA-8739:
-------------------------------------
Summary: rejoining broker fails to sanity check existing log
segments
Key: KAFKA-8739
URL: https://issues.apache.org/jira/browse/KAFKA-8739
Project: Kafka
Issue Type: Bug
Components: replication
Affects Versions: 2.3.0
Reporter: sanjiv marathe
kafka claims it can be used as a storage. But following scenario proves other
wise.
# Consider a topic with single partition, repl-factor 2, with two brokers, say
A and B.... with A is the leader.
# Broker B fails due to sector errors. Sysadmin fixes the issues and brings it
up again after a few minutes. A few log segments are lost/corrupted.
# Broker B catches up with missed out msgs by fetching them from the leader A,
but does not realize the issue with earlier log segments.
# Broker A fails, B becomes the leader.
# A new consumer requests msgs from the beginning. Broker B fails to deliver
msgs belonging to corrupted log segments.
Suggested solution
A broker, immediately after coming up, should go through a sanity check, e.g.
CRC check of its log segments. Any corrupted/lost, should be refetched from the
leader.
--
This message was sent by Atlassian JIRA
(v7.6.14#76016)