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


Reply via email to