From 9e97d16c4116e96389b27b36e3e6414729827694 Mon Sep 17 00:00:00 2001 From: Guozhang Wang Date: Mon, 27 Oct 2014 16:59:05 -0700 Subject: [PATCH] Fix KAFKA-1735 --- .../main/java/org/apache/kafka/common/record/MemoryRecords.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/clients/src/main/java/org/apache/kafka/common/record/MemoryRecords.java b/clients/src/main/java/org/apache/kafka/common/record/MemoryRecords.java index 040e5b9..09537d7 100644 --- a/clients/src/main/java/org/apache/kafka/common/record/MemoryRecords.java +++ b/clients/src/main/java/org/apache/kafka/common/record/MemoryRecords.java @@ -203,7 +203,14 @@ public class MemoryRecords implements Records { rec.limit(size); } else { byte[] recordBuffer = new byte[size]; - stream.read(recordBuffer, 0, size); + int bytesRead = 0; + while (bytesRead < size) { + int count = stream.read(recordBuffer, bytesRead, size - bytesRead); + if (count < 0) + throw new EOFException(); + bytesRead += count; + } + rec = ByteBuffer.wrap(recordBuffer); } LogEntry entry = new LogEntry(offset, new Record(rec)); -- 1.7.12.4