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:26 UTC

[1/2] cassandra git commit: Expose commit log archiver status via JMX

Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 2047b2ae3 -> 8eea35863


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.1
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;


[2/2] cassandra git commit: Merge branch 'cassandra-2.0' into cassandra-2.1

Posted by jm...@apache.org.
Merge branch 'cassandra-2.0' into cassandra-2.1

Conflicts:
	src/java/org/apache/cassandra/db/commitlog/CommitLog.java
	src/java/org/apache/cassandra/db/commitlog/CommitLogArchiver.java


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

Branch: refs/heads/cassandra-2.1
Commit: 8eea35863bd1e2bafdaabfb586348a034ae56ada
Parents: 2047b2a 77c66bf
Author: Joshua McKenzie <jm...@apache.org>
Authored: Wed Mar 11 11:23:09 2015 -0500
Committer: Joshua McKenzie <jm...@apache.org>
Committed: Wed Mar 11 11:23:09 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/8eea3586/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 29e7541,382b3dd..24a8bb7
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,43 -1,5 +1,44 @@@
 +2.1.4
 + * Fix rare NPE in ColumnDefinition#hasIndexOption() (CASSANDRA-8786)
 + * cassandra-stress reports per-operation statistics, plus misc (CASSANDRA-8769)
 + * Add SimpleDate (cql date) and Time (cql time) types (CASSANDRA-7523)
 + * Use long for key count in cfstats (CASSANDRA-8913)
 + * Make SSTableRewriter.abort() more robust to failure (CASSANDRA-8832)
 + * Remove cold_reads_to_omit from STCS (CASSANDRA-8860)
 + * Make EstimatedHistogram#percentile() use ceil instead of floor (CASSANDRA-8883)
 + * Fix top partitions reporting wrong cardinality (CASSANDRA-8834)
 + * Fix rare NPE in KeyCacheSerializer (CASSANDRA-8067)
 + * Pick sstables for validation as late as possible inc repairs (CASSANDRA-8366)
 + * Fix commitlog getPendingTasks to not increment (CASSANDRA-8856)
 + * Fix parallelism adjustment in range and secondary index queries
 +   when the first fetch does not satisfy the limit (CASSANDRA-8856)
 + * Check if the filtered sstables is non-empty in STCS (CASSANDRA-8843)
 + * Upgrade java-driver used for cassandra-stress (CASSANDRA-8842)
 + * Fix CommitLog.forceRecycleAllSegments() memory access error (CASSANDRA-8812)
 + * Improve assertions in Memory (CASSANDRA-8792)
 + * Fix SSTableRewriter cleanup (CASSANDRA-8802)
 + * Introduce SafeMemory for CompressionMetadata.Writer (CASSANDRA-8758)
 + * 'nodetool info' prints exception against older node (CASSANDRA-8796)
 + * Ensure SSTableReader.last corresponds exactly with the file end (CASSANDRA-8750)
 + * Make SSTableWriter.openEarly more robust and obvious (CASSANDRA-8747)
 + * Enforce SSTableReader.first/last (CASSANDRA-8744)
 + * Cleanup SegmentedFile API (CASSANDRA-8749)
 + * Avoid overlap with early compaction replacement (CASSANDRA-8683)
 + * Safer Resource Management++ (CASSANDRA-8707)
 + * Write partition size estimates into a system table (CASSANDRA-7688)
 + * cqlsh: Fix keys() and full() collection indexes in DESCRIBE output
 +   (CASSANDRA-8154)
 + * Show progress of streaming in nodetool netstats (CASSANDRA-8886)
 + * IndexSummaryBuilder utilises offheap memory, and shares data between
 +   each IndexSummary opened from it (CASSANDRA-8757)
 + * markCompacting only succeeds if the exact SSTableReader instances being 
 +   marked are in the live set (CASSANDRA-8689)
 + * cassandra-stress support for varint (CASSANDRA-8882)
 + * Fix Adler32 digest for compressed sstables (CASSANDRA-8778)
 + * Add nodetool statushandoff/statusbackup (CASSANDRA-8912)
 +Merged from 2.0:
  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/8eea3586/src/java/org/apache/cassandra/db/commitlog/CommitLog.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/db/commitlog/CommitLog.java
index 9b51a33,a3ce804..40b90ff
--- a/src/java/org/apache/cassandra/db/commitlog/CommitLog.java
+++ b/src/java/org/apache/cassandra/db/commitlog/CommitLog.java
@@@ -311,9 -299,50 +311,39 @@@ public class CommitLog implements Commi
          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.
 -     *
 -     * @return the newly activated segment
 -     */
 -    private void activateNextSegment()
 -    {
 -        activeSegment = allocator.fetchSegment();
 -        logger.debug("Active segment is now {}", activeSegment);
 -    }
 -
      public List<String> getActiveSegmentNames()
      {
 -        List<String> segmentNames = new ArrayList<String>();
 +        List<String> segmentNames = new ArrayList<>();
          for (CommitLogSegment segment : allocator.getActiveSegments())
              segmentNames.add(segment.getName());
          return segmentNames;

http://git-wip-us.apache.org/repos/asf/cassandra/blob/8eea3586/src/java/org/apache/cassandra/db/commitlog/CommitLogArchiver.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/db/commitlog/CommitLogArchiver.java
index 6cba603,fd03624..602cf94
--- a/src/java/org/apache/cassandra/db/commitlog/CommitLogArchiver.java
+++ b/src/java/org/apache/cassandra/db/commitlog/CommitLogArchiver.java
@@@ -52,10 -52,10 +52,10 @@@ public class CommitLogArchive
      }
  
      public final Map<String, Future<?>> archivePending = new ConcurrentHashMap<String, Future<?>>();
 -    public final ExecutorService executor = new JMXEnabledThreadPoolExecutor("commitlog_archiver");
 +    private final ExecutorService executor = new JMXEnabledThreadPoolExecutor("CommitLogArchiver");
-     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;