Author: jbellis
Date: Mon Aug 15 04:09:55 2011
New Revision: 1157708
URL: http://svn.apache.org/viewvc?rev=1157708&view=rev
Log:
re-use CRC32 object on replay
patch by Dave Brosius; reviewed by jbellis for CASSANDRA-3035
Modified:
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/db/commitlog/CommitLog.java
Modified:
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/db/commitlog/CommitLog.java
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/db/commitlog/CommitLog.java?rev=1157708&r1=1157707&r2=1157708&view=diff
==============================================================================
---
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/db/commitlog/CommitLog.java
(original)
+++
cassandra/branches/cassandra-0.8/src/java/org/apache/cassandra/db/commitlog/CommitLog.java
Mon Aug 15 04:09:55 2011
@@ -188,6 +188,7 @@ public class CommitLog
}
final ReplayPosition globalPosition =
Ordering.from(ReplayPosition.comparator).min(cfPositions.values());
+ Checksum checksum = new CRC32();
for (final File file : clogs)
{
final long segment =
CommitLogSegment.idFromFilename(file.getName());
@@ -226,7 +227,6 @@ public class CommitLog
logger.debug("Reading mutation at " +
reader.getFilePointer());
long claimedCRC32;
- Checksum checksum = new CRC32();
int serializedSize;
try
{
@@ -239,6 +239,7 @@ public class CommitLog
if (serializedSize < 10)
break;
long claimedSizeChecksum = reader.readLong();
+ checksum.reset();
checksum.update(serializedSize);
if (checksum.getValue() != claimedSizeChecksum)
break; // entry wasn't synced correctly/fully.
that's ok.