You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jb...@apache.org on 2009/07/28 04:45:33 UTC
svn commit: r798367 -
/incubator/cassandra/trunk/src/java/org/apache/cassandra/db/CommitLog.java
Author: jbellis
Date: Tue Jul 28 02:45:33 2009
New Revision: 798367
URL: http://svn.apache.org/viewvc?rev=798367&view=rev
Log:
handle incomplete CL entries on recover
patch by jbellis; reviewed by Jun Rao for CASSANDRA-182
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=798367&r1=798366&r2=798367&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 Tue Jul 28 02:45:33 2009
@@ -270,8 +270,17 @@
/* read the logs populate RowMutation and apply */
while ( !reader.isEOF() )
{
- byte[] bytes = new byte[(int)reader.readLong()];
- reader.readDirect(bytes);
+ byte[] bytes;
+ try
+ {
+ bytes = new byte[(int)reader.readLong()];
+ reader.readDirect(bytes);
+ }
+ catch (EOFException e)
+ {
+ // last CL entry didn't get completely written. that's ok.
+ break;
+ }
bufIn.reset(bytes, bytes.length);
/* read the commit log entry */