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