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; } }