Author: jbellis
Date: Mon Oct 3 16:06:03 2011
New Revision: 1178436
URL: http://svn.apache.org/viewvc?rev=1178436&view=rev
Log:
fix bug preventing obsolete commitlog segments from being removed
patch by slebresne and jbellis for CASSANDRA-3269
Modified:
cassandra/branches/cassandra-1.0.0/CHANGES.txt
cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/db/commitlog/CommitLogSegment.java
Modified: cassandra/branches/cassandra-1.0.0/CHANGES.txt
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0.0/CHANGES.txt?rev=1178436&r1=1178435&r2=1178436&view=diff
==============================================================================
--- cassandra/branches/cassandra-1.0.0/CHANGES.txt (original)
+++ cassandra/branches/cassandra-1.0.0/CHANGES.txt Mon Oct 3 16:06:03 2011
@@ -1,6 +1,8 @@
1.0.0-final
* Fix tool .bat files when CASSANDRA_HOME contains spaces (CASSANDRA-3258)
* Force flush of status table when removing/updating token (CASSANDRA-3243)
+ * fix bug preventing obsolete commitlog segments from being removed
+ (CASSANDRA-3269)
1.0.0-rc2
Modified:
cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/db/commitlog/CommitLogSegment.java
URL:
http://svn.apache.org/viewvc/cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/db/commitlog/CommitLogSegment.java?rev=1178436&r1=1178435&r2=1178436&view=diff
==============================================================================
---
cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/db/commitlog/CommitLogSegment.java
(original)
+++
cassandra/branches/cassandra-1.0.0/src/java/org/apache/cassandra/db/commitlog/CommitLogSegment.java
Mon Oct 3 16:06:03 2011
@@ -97,11 +97,10 @@ public class CommitLogSegment
public ReplayPosition write(RowMutation rowMutation) throws IOException
{
- long currentPosition = -1L;
+ ReplayPosition cLogCtx = getContext();
+
try
{
- ReplayPosition cLogCtx = getContext();
-
for (ColumnFamily columnFamily : rowMutation.getColumnFamilies())
{
// check for null cfm in case a cl write goes through after
the cf is
@@ -113,7 +112,7 @@ public class CommitLogSegment
}
else
{
- turnOn(cfm.cfId, (int) currentPosition);
+ turnOn(cfm.cfId, cLogCtx.position);
}
}
@@ -131,8 +130,7 @@ public class CommitLogSegment
}
catch (IOException e)
{
- if (currentPosition != -1)
- logWriter.truncate(currentPosition);
+ logWriter.truncate(cLogCtx.position);
throw e;
}
}