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 2015/03/11 17:27:15 UTC

cassandra git commit: Expose commit log archiver status via JMX

Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.0 d6ea0ff1f -> 77c66bf9f


Expose commit log archiver status via JMX

Patch by clohfink; reviewed by jmckenzie for CASSANDRA-8734


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

Branch: refs/heads/cassandra-2.0
Commit: 77c66bf9f50228306d4bf76bb2721c731875f261
Parents: d6ea0ff
Author: Chris Lohfink <cl...@gmail.com>
Authored: Wed Mar 11 11:14:59 2015 -0500
Committer: Joshua McKenzie <jm...@apache.org>
Committed: Wed Mar 11 11:14:59 2015 -0500

----------------------------------------------------------------------
 CHANGES.txt                                     |  1 +
 .../cassandra/db/commitlog/CommitLog.java       | 30 +++++++++++++++++++
 .../db/commitlog/CommitLogArchiver.java         |  6 ++--
 .../cassandra/db/commitlog/CommitLogMBean.java  | 31 ++++++++++++++++++++
 4 files changed, 65 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/77c66bf9/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index d240a10..382b3dd 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.0.14:
+ * Expose commit log archive status via JMX (CASSANDRA-8734)
  * Provide better exceptions for invalid replication strategy parameters
    (CASSANDRA-8909)
  * Fix regression in mixed single and multi-column relation support for

http://git-wip-us.apache.org/repos/asf/cassandra/blob/77c66bf9/src/java/org/apache/cassandra/db/commitlog/CommitLog.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/commitlog/CommitLog.java b/src/java/org/apache/cassandra/db/commitlog/CommitLog.java
index 7a27653..a3ce804 100644
--- a/src/java/org/apache/cassandra/db/commitlog/CommitLog.java
+++ b/src/java/org/apache/cassandra/db/commitlog/CommitLog.java
@@ -299,6 +299,36 @@ public class CommitLog implements CommitLogMBean
         return metrics.totalCommitLogSize.value();
     }
 
+    @Override
+    public String getArchiveCommand()
+    {
+        return archiver.archiveCommand;
+    }
+
+    @Override
+    public String getRestoreCommand()
+    {
+        return archiver.restoreCommand;
+    }
+
+    @Override
+    public String getRestoreDirectories()
+    {
+        return archiver.restoreDirectories;
+    }
+
+    @Override
+    public long getRestorePointInTime()
+    {
+        return archiver.restorePointInTime;
+    }
+
+    @Override
+    public String getRestorePrecision()
+    {
+        return archiver.precision.toString();
+    }
+
     /**
      * Fetches a new segment file from the allocator and activates it.
      *

http://git-wip-us.apache.org/repos/asf/cassandra/blob/77c66bf9/src/java/org/apache/cassandra/db/commitlog/CommitLogArchiver.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/commitlog/CommitLogArchiver.java b/src/java/org/apache/cassandra/db/commitlog/CommitLogArchiver.java
index 8957643..fd03624 100644
--- a/src/java/org/apache/cassandra/db/commitlog/CommitLogArchiver.java
+++ b/src/java/org/apache/cassandra/db/commitlog/CommitLogArchiver.java
@@ -53,9 +53,9 @@ public class CommitLogArchiver
 
     public final Map<String, Future<?>> archivePending = new ConcurrentHashMap<String, Future<?>>();
     public final ExecutorService executor = new JMXEnabledThreadPoolExecutor("commitlog_archiver");
-    private final String archiveCommand;
-    private final String restoreCommand;
-    private final String restoreDirectories;
+    final String archiveCommand;
+    final String restoreCommand;
+    final String restoreDirectories;
     public final long restorePointInTime;
     public final TimeUnit precision;
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/77c66bf9/src/java/org/apache/cassandra/db/commitlog/CommitLogMBean.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/db/commitlog/CommitLogMBean.java b/src/java/org/apache/cassandra/db/commitlog/CommitLogMBean.java
index 6c0d8d7..9f3eb9b 100644
--- a/src/java/org/apache/cassandra/db/commitlog/CommitLogMBean.java
+++ b/src/java/org/apache/cassandra/db/commitlog/CommitLogMBean.java
@@ -45,6 +45,37 @@ public interface CommitLogMBean
     public long getTotalCommitlogSize();
 
     /**
+     *  Command to execute to archive a commitlog segment.  Blank to disabled.
+     */
+    public String getArchiveCommand();
+
+    /**
+     * Command to execute to make an archived commitlog live again
+     */
+    public String getRestoreCommand();
+
+    /**
+     * Directory to scan the recovery files in
+     */
+    public String getRestoreDirectories();
+
+    /**
+     * Restore mutations created up to and including this timestamp in GMT
+     * Format: yyyy:MM:dd HH:mm:ss (2012:04:31 20:43:12)
+     *
+     * Recovery will continue through the segment when the first client-supplied
+     * timestamp greater than this time is encountered, but only mutations less than
+     * or equal to this timestamp will be applied.
+     */
+    public long getRestorePointInTime();
+
+    /**
+     * get precision of the timestamp used in the restore (MILLISECONDS, MICROSECONDS, ...)
+     * to determine if passed the restore point in time.
+     */
+    public String getRestorePrecision();
+
+    /**
      * Recover a single file.
      */
     public void recover(String path) throws IOException;