Author: jbellis
Date: Tue Sep  7 16:25:36 2010
New Revision: 993416

URL: http://svn.apache.org/viewvc?rev=993416&view=rev
Log:
make failure to remove comitlog segment non-fatal.  patch by jbellis; reviewed 
by gdusbabek for CASSANDRA-1348

Modified:
    cassandra/trunk/CHANGES.txt
    cassandra/trunk/src/java/org/apache/cassandra/db/commitlog/CommitLog.java

Modified: cassandra/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/CHANGES.txt?rev=993416&r1=993415&r2=993416&view=diff
==============================================================================
--- cassandra/trunk/CHANGES.txt (original)
+++ cassandra/trunk/CHANGES.txt Tue Sep  7 16:25:36 2010
@@ -58,6 +58,7 @@ dev
    transmitting separately (CASSANDRA-1465)
  * apply reversed flag during collation from different data sources
    (CASSANDRA-1450)
+ * make failure to remove comitlog segment non-fatal (CASSANDRA-1348)
 
 
 0.7-beta1

Modified: 
cassandra/trunk/src/java/org/apache/cassandra/db/commitlog/CommitLog.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/commitlog/CommitLog.java?rev=993416&r1=993415&r2=993416&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/db/commitlog/CommitLog.java 
(original)
+++ cassandra/trunk/src/java/org/apache/cassandra/db/commitlog/CommitLog.java 
Tue Sep  7 16:25:36 2010
@@ -176,7 +176,8 @@ public class CommitLog
         for (File f : files)
         {
             
FileUtils.delete(CommitLogHeader.getHeaderPathFromSegmentPath(f.getAbsolutePath()));
 // may not actually exist
-            FileUtils.deleteWithConfirm(f);
+            if (!f.delete())
+                logger.error("Unable to remove " + f + "; you should remove it 
manually or next restart will replay it again (harmless, but time-consuming)");
         }
         logger.info("Log replay complete");
     }
@@ -190,13 +191,12 @@ public class CommitLog
 
         for (File file : clogs)
         {
-            BufferedRandomAccessFile reader = null;
+            int bufferSize = (int)Math.min(file.length(), 32 * 1024 * 1024);
+            BufferedRandomAccessFile reader = new 
BufferedRandomAccessFile(file.getAbsolutePath(), "r", bufferSize);
+
             try
             {
                 CommitLogHeader clHeader = null;
-                int bufferSize = (int)Math.min(file.length(), 32 * 1024 * 
1024);
-                reader = new BufferedRandomAccessFile(file.getAbsolutePath(), 
"r", bufferSize);
-
                 int replayPosition = 0;
                 String headerPath = 
CommitLogHeader.getHeaderPathFromSegmentPath(file.getAbsolutePath());
                 try


Reply via email to