You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jm...@apache.org on 2018/04/08 15:36:03 UTC

[1/2] cassandra git commit: Delete untracked non-CDC hard link log files in cdc_raw after replaying

Repository: cassandra
Updated Branches:
  refs/heads/trunk eda2613bc -> c413b6dee


Delete untracked non-CDC hard link log files in cdc_raw after replaying


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

Branch: refs/heads/trunk
Commit: 31bcefe7369291a2b71a9815f32e40bad604fbb6
Parents: d38694a
Author: Shichao An <sh...@uber.com>
Authored: Wed Mar 28 15:07:57 2018 -0700
Committer: Shichao An <sh...@uber.com>
Committed: Wed Mar 28 16:40:13 2018 -0700

----------------------------------------------------------------------
 .../commitlog/CommitLogSegmentManagerCDC.java   | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/31bcefe7/src/java/org/apache/cassandra/db/commitlog/CommitLogSegmentManagerCDC.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/commitlog/CommitLogSegmentManagerCDC.java b/src/java/org/apache/cassandra/db/commitlog/CommitLogSegmentManagerCDC.java
index 4d31aad..bdd4f74 100644
--- a/src/java/org/apache/cassandra/db/commitlog/CommitLogSegmentManagerCDC.java
+++ b/src/java/org/apache/cassandra/db/commitlog/CommitLogSegmentManagerCDC.java
@@ -153,6 +153,26 @@ public class CommitLogSegmentManagerCDC extends AbstractCommitLogSegmentManager
     }
 
     /**
+     * Delete untracked segment files after replay
+     *
+     * @param file segment file that is no longer in use.
+     */
+    @Override
+    void handleReplayedSegment(final File file)
+    {
+        super.handleReplayedSegment(file);
+
+        // delete untracked cdc segment hard link files if their index files do not exist
+        File cdcFile = new File(DatabaseDescriptor.getCDCLogLocation(), file.getName());
+        File cdcIndexFile = new File(DatabaseDescriptor.getCDCLogLocation(), CommitLogDescriptor.fromFileName(file.getName()).cdcIndexFileName());
+        if (cdcFile.exists() && !cdcIndexFile.exists())
+        {
+            logger.trace("(Unopened) CDC segment {} is no longer needed and will be deleted now", cdcFile);
+            FileUtils.deleteWithConfirm(cdcFile);
+        }
+    }
+
+    /**
      * For use after replay when replayer hard-links / adds tracking of replayed segments
      */
     public void addCDCSize(long size)


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org


[2/2] cassandra git commit: Delete untracked CDC segment links on replay

Posted by jm...@apache.org.
Delete untracked CDC segment links on replay

Patch by shichaoan; reviewed by jmckenzie for CASSANDRA-14349


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

Branch: refs/heads/trunk
Commit: c413b6dee8ac5db0edfc73421b98743d6b5cc2dd
Parents: eda2613 31bcefe
Author: Shichao An <sh...@gmail.com>
Authored: Sun Apr 8 11:30:11 2018 -0400
Committer:  <jm...@Thunk.localdomain>
Committed: Sun Apr 8 11:32:03 2018 -0400

----------------------------------------------------------------------
 .../commitlog/CommitLogSegmentManagerCDC.java   | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
----------------------------------------------------------------------



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org