Gaurav Narula created KAFKA-16304:
-------------------------------------
Summary: Disk I/O error does not offline log directory while
handling Fetch requests
Key: KAFKA-16304
URL: https://issues.apache.org/jira/browse/KAFKA-16304
Project: Kafka
Issue Type: Bug
Affects Versions: 3.6.1, 3.7.0
Reporter: Gaurav Narula
The Fetch API handler delays reading of record batches from disk using
{{FileRecords::writeTo}} until the bytes are ready to be sent to the wire.
Therefore, a disk I/O error that happens while reading the log segment in
either {{SslTransportLayer::transferFrom}} or
{{PlaintextTransportLayer::transferFrom}} does not cause the log directory to
be offlined. Instead, we assume that such an {{IOException}} can only occur
because of network related causes and close the socket instead
[[0]|https://github.com/apache/kafka/blob/7ac50a86113c9a489667451eecf61b6ab80870db/clients/src/main/java/org/apache/kafka/common/network/Selector.java#L610]
[[1]|https://github.com/apache/kafka/blob/7ac50a86113c9a489667451eecf61b6ab80870db/clients/src/main/java/org/apache/kafka/common/network/Selector.java#L629]
We should disambiguate between IOExceptions due to network and disk operations
and offline the log directory in case of the latter as we do for other disk
related failures.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)