Dustin created KAFKA-6271:
-----------------------------
Summary: FileInputStream.skip function can return 0 when the file
is corrupted, causing an infinite loop
Key: KAFKA-6271
URL: https://issues.apache.org/jira/browse/KAFKA-6271
Project: Kafka
Issue Type: Bug
Affects Versions: 0.10.0.0
Reporter: Dustin
When file is corrupted, the FileInputStream can return 0, causing the while
loop in FileStreamSourceTask.poll() become infinite.
{code:java}
public List<SourceRecord> poll() throws InterruptedException {
...
stream = new FileInputStream(filename);
long skipLeft = (Long) lastRecordedOffset;
while (skipLeft > 0) {
try {
long skipped = stream.skip(skipLeft);
skipLeft -= skipped;
} catch (IOException e) {
log.error("Error while trying to seek to previous offset in file:
", e);
throw new ConnectException(e);
}
}
}
{code}
Similar bugs are like
[Cassandra-7330|https://issues.apache.org/jira/browse/Cassandra-7330],
[Hadoop-8614|https://issues.apache.org/jira/browse/Hadoop-8614],
[Mapreduce-6990|https://issues.apache.org/jira/browse/MAPREDUCE-6990],
[Yarn-163|https://issues.apache.org/jira/browse/yarn-163],
[Yarn-2905|https://issues.apache.org/jira/browse/yarn-2905] etc.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)