Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 f587397c9 -> 27c80117d


AssertionError: attempted to delete non-existing file CommitLog

patch by Vovodroid; reviewed by Robert Stupp for CASSANDRA-10377


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/27c80117
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/27c80117
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/27c80117

Branch: refs/heads/cassandra-2.1
Commit: 27c80117d2ff62acbecc0887ca851bb541b2d830
Parents: f587397
Author: Vovodroid <[email protected]>
Authored: Sat Oct 17 11:37:47 2015 +0200
Committer: Robert Stupp <[email protected]>
Committed: Sat Oct 17 11:37:47 2015 +0200

----------------------------------------------------------------------
 CHANGES.txt                                                    | 1 +
 .../apache/cassandra/db/commitlog/CommitLogSegmentManager.java | 6 +++++-
 2 files changed, 6 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/27c80117/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 68b44ed..7358689 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.12
+ * AssertionError: attempted to delete non-existing file CommitLog 
(CASSANDRA-10377)
  * Merge range tombstones during compaction (CASSANDRA-7953)
  * (cqlsh) Distinguish negative and positive infinity in output 
(CASSANDRA-10523)
  * (cqlsh) allow custom time_format for COPY TO (CASSANDRA-8970)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/27c80117/src/java/org/apache/cassandra/db/commitlog/CommitLogSegmentManager.java
----------------------------------------------------------------------
diff --git 
a/src/java/org/apache/cassandra/db/commitlog/CommitLogSegmentManager.java 
b/src/java/org/apache/cassandra/db/commitlog/CommitLogSegmentManager.java
index ba37576..9310d67 100644
--- a/src/java/org/apache/cassandra/db/commitlog/CommitLogSegmentManager.java
+++ b/src/java/org/apache/cassandra/db/commitlog/CommitLogSegmentManager.java
@@ -347,7 +347,11 @@ public class CommitLogSegmentManager
     void recycleSegment(final CommitLogSegment segment)
     {
         boolean archiveSuccess = 
CommitLog.instance.archiver.maybeWaitForArchiving(segment.getName());
-        activeSegments.remove(segment);
+        if (!activeSegments.remove(segment))
+        {
+            logger.warn("segment {} not found in activeSegments queue", 
segment);
+            return;
+        }
         if (!archiveSuccess)
         {
             // if archiving (command) was not successful then leave the file 
alone. don't delete or recycle.

Reply via email to