Author: jbellis
Date: Mon Aug 24 20:32:00 2009
New Revision: 807365
URL: http://svn.apache.org/viewvc?rev=807365&view=rev
Log:
read(bytes) doesn't automatically throw EOFException if it reads less than
asked for, so we need to check for that.
patch by jbellis; reviewed by Sammy Yu for CASSANDRA-370
Modified:
incubator/cassandra/trunk/src/java/org/apache/cassandra/db/CommitLog.java
Modified:
incubator/cassandra/trunk/src/java/org/apache/cassandra/db/CommitLog.java
URL:
http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/db/CommitLog.java?rev=807365&r1=807364&r2=807365&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/db/CommitLog.java
(original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/db/CommitLog.java
Mon Aug 24 20:32:00 2009
@@ -302,8 +302,11 @@
byte[] bytes;
try
{
- bytes = new byte[(int) reader.readLong()];
- reader.read(bytes);
+ bytes = new byte[(int) reader.readLong()]; // readlong can
throw EOFException too
+ if (reader.read(bytes) < bytes.length)
+ {
+ throw new EOFException();
+ }
}
catch (EOFException e)
{