cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From yu...@apache.org
Subject [3/6] cassandra git commit: Remove C* specific class from JMX API
Date Tue, 06 Jan 2015 22:11:13 GMT
Remove C* specific class from JMX API

This is follow up for CASSANDRA-8193


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

Branch: refs/heads/trunk
Commit: e20810c7bdf81b2ea225d1356ac3237994fb5349
Parents: eb9c5bb
Author: Yuki Morishita <yukim@apache.org>
Authored: Tue Jan 6 14:24:37 2015 -0600
Committer: Yuki Morishita <yukim@apache.org>
Committed: Tue Jan 6 14:24:37 2015 -0600

----------------------------------------------------------------------
 .../cassandra/service/StorageService.java       | 25 +++++++++++++-------
 .../cassandra/service/StorageServiceMBean.java  |  9 +++----
 .../org/apache/cassandra/tools/NodeProbe.java   |  4 ++--
 3 files changed, 24 insertions(+), 14 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/e20810c7/src/java/org/apache/cassandra/service/StorageService.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/StorageService.java b/src/java/org/apache/cassandra/service/StorageService.java
index 3daa66f..8085d7b 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -2414,18 +2414,22 @@ public class StorageService extends NotificationBroadcasterSupport
implements IE
 
     public int forceRepairAsync(final String keyspace, final boolean isSequential, final
Collection<String> dataCenters, final Collection<String> hosts, final boolean
primaryRange, final String... columnFamilies)
     {
-        return forceRepairAsync(keyspace, isSequential ? RepairParallelism.SEQUENTIAL : RepairParallelism.PARALLEL,
dataCenters, hosts, primaryRange, columnFamilies);
+        return forceRepairAsync(keyspace, isSequential ? RepairParallelism.SEQUENTIAL.ordinal()
: RepairParallelism.PARALLEL.ordinal(), dataCenters, hosts, primaryRange, columnFamilies);
     }
 
-    public int forceRepairAsync(final String keyspace, final RepairParallelism parallelismDegree,
final Collection<String> dataCenters, final Collection<String> hosts, final boolean
primaryRange, final String... columnFamilies)
+    public int forceRepairAsync(final String keyspace, final int parallelismDegree, final
Collection<String> dataCenters, final Collection<String> hosts, final boolean
primaryRange, final String... columnFamilies)
     {
+        if (parallelismDegree < 0 || parallelismDegree > RepairParallelism.values().length
- 1)
+        {
+            throw new IllegalArgumentException("Invalid parallelism degree specified: " +
parallelismDegree);
+        }
         // when repairing only primary range, dataCenter nor hosts can be set
         if (primaryRange && (dataCenters != null || hosts != null))
         {
             throw new IllegalArgumentException("You need to run primary range repair on all
nodes in the cluster.");
         }
         final Collection<Range<Token>> ranges = primaryRange ? getLocalPrimaryRanges(keyspace)
: getLocalRanges(keyspace);
-        return forceRepairAsync(keyspace, parallelismDegree, dataCenters, hosts, ranges,
columnFamilies);
+        return forceRepairAsync(keyspace, RepairParallelism.values()[parallelismDegree],
dataCenters, hosts, ranges, columnFamilies);
     }
 
     public int forceRepairAsync(final String keyspace, final RepairParallelism parallelismDegree,
final Collection<String> dataCenters, final Collection<String> hosts,  final Collection<Range<Token>>
ranges, final String... columnFamilies)
@@ -2469,22 +2473,27 @@ public class StorageService extends NotificationBroadcasterSupport
implements IE
 
     public int forceRepairRangeAsync(String beginToken, String endToken, final String keyspaceName,
boolean isSequential, Collection<String> dataCenters, final Collection<String>
hosts, final String... columnFamilies)
     {
-        return forceRepairRangeAsync(beginToken, endToken, keyspaceName, isSequential ? RepairParallelism.SEQUENTIAL
: RepairParallelism.PARALLEL, dataCenters, hosts, columnFamilies);
+        return forceRepairRangeAsync(beginToken, endToken, keyspaceName, isSequential ? RepairParallelism.SEQUENTIAL.ordinal()
: RepairParallelism.PARALLEL.ordinal(), dataCenters, hosts, columnFamilies);
     }
 
-    public int forceRepairRangeAsync(String beginToken, String endToken, final String keyspaceName,
RepairParallelism parallelismDegree, Collection<String> dataCenters, final Collection<String>
hosts, final String... columnFamilies)
+    public int forceRepairRangeAsync(String beginToken, String endToken, final String keyspaceName,
int parallelismDegree, Collection<String> dataCenters, final Collection<String>
hosts, final String... columnFamilies)
     {
+        if (parallelismDegree < 0 || parallelismDegree > RepairParallelism.values().length
- 1)
+        {
+            throw new IllegalArgumentException("Invalid parallelism degree specified: " +
parallelismDegree);
+        }
         Collection<Range<Token>> repairingRange = createRepairRangeFrom(beginToken,
endToken);
 
         logger.info("starting user-requested repair of range {} for keyspace {} and column
families {}",
                     repairingRange, keyspaceName, columnFamilies);
 
-        if (!FBUtilities.isUnix() && parallelismDegree != RepairParallelism.PARALLEL)
+        RepairParallelism parallelism = RepairParallelism.values()[parallelismDegree];
+        if (!FBUtilities.isUnix() && parallelism != RepairParallelism.PARALLEL)
         {
             logger.warn("Snapshot-based repair is not yet supported on Windows.  Reverting
to parallel repair.");
-            parallelismDegree = RepairParallelism.PARALLEL;
+            parallelism = RepairParallelism.PARALLEL;
         }
-        return forceRepairAsync(keyspaceName, parallelismDegree, dataCenters, hosts, repairingRange,
columnFamilies);
+        return forceRepairAsync(keyspaceName, parallelism, dataCenters, hosts, repairingRange,
columnFamilies);
     }
 
     public int forceRepairRangeAsync(String beginToken, String endToken, final String keyspaceName,
boolean isSequential, boolean isLocal, final String... columnFamilies)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/e20810c7/src/java/org/apache/cassandra/service/StorageServiceMBean.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/StorageServiceMBean.java b/src/java/org/apache/cassandra/service/StorageServiceMBean.java
index 0ea08a2..10d17fd 100644
--- a/src/java/org/apache/cassandra/service/StorageServiceMBean.java
+++ b/src/java/org/apache/cassandra/service/StorageServiceMBean.java
@@ -17,8 +17,6 @@
  */
 package org.apache.cassandra.service;
 
-import org.apache.cassandra.repair.RepairParallelism;
-
 import java.io.IOException;
 import java.net.InetAddress;
 import java.net.UnknownHostException;
@@ -268,9 +266,10 @@ public interface StorageServiceMBean extends NotificationEmitter
      *   type: "repair"
      *   userObject: int array of length 2, [0]=command number, [1]=ordinal of AntiEntropyService.Status
      *
+     * @param parallelismDegree 0: sequential, 1: parallel, 2: DC parallel
      * @return Repair command number, or 0 if nothing to repair
      */
-    public int forceRepairAsync(String keyspace, RepairParallelism parallelismDegree, Collection<String>
dataCenters, final Collection<String> hosts, boolean primaryRange, String... columnFamilies);
+    public int forceRepairAsync(String keyspace, int parallelismDegree, Collection<String>
dataCenters, final Collection<String> hosts, boolean primaryRange, String... columnFamilies);
 
     /**
      * Same as forceRepairAsync, but handles a specified range
@@ -279,8 +278,10 @@ public interface StorageServiceMBean extends NotificationEmitter
 
     /**
      * Same as forceRepairAsync, but handles a specified range
+     *
+     * @param parallelismDegree 0: sequential, 1: parallel, 2: DC parallel
      */
-    public int forceRepairRangeAsync(String beginToken, String endToken, final String keyspaceName,
RepairParallelism parallelismDegree, Collection<String> dataCenters, final Collection<String>
hosts,  final String... columnFamilies);
+    public int forceRepairRangeAsync(String beginToken, String endToken, final String keyspaceName,
int parallelismDegree, Collection<String> dataCenters, final Collection<String>
hosts,  final String... columnFamilies);
 
     /**
      * Invoke repair asynchronously.

http://git-wip-us.apache.org/repos/asf/cassandra/blob/e20810c7/src/java/org/apache/cassandra/tools/NodeProbe.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/tools/NodeProbe.java b/src/java/org/apache/cassandra/tools/NodeProbe.java
index 3736659..6b28f18 100644
--- a/src/java/org/apache/cassandra/tools/NodeProbe.java
+++ b/src/java/org/apache/cassandra/tools/NodeProbe.java
@@ -1077,14 +1077,14 @@ class RepairRunner implements NotificationListener
 
     public boolean repairAndWait(StorageServiceMBean ssProxy, RepairParallelism parallelismDegree,
Collection<String> dataCenters, final Collection<String> hosts, boolean primaryRangeOnly)
throws Exception
     {
-        cmd = ssProxy.forceRepairAsync(keyspace, parallelismDegree, dataCenters, hosts, primaryRangeOnly,
columnFamilies);
+        cmd = ssProxy.forceRepairAsync(keyspace, parallelismDegree.ordinal(), dataCenters,
hosts, primaryRangeOnly, columnFamilies);
         waitForRepair();
         return success;
     }
 
     public boolean repairRangeAndWait(StorageServiceMBean ssProxy, RepairParallelism parallelismDegree,
Collection<String> dataCenters, final Collection<String> hosts, String startToken,
String endToken) throws Exception
     {
-        cmd = ssProxy.forceRepairRangeAsync(startToken, endToken, keyspace, parallelismDegree,
dataCenters, hosts, columnFamilies);
+        cmd = ssProxy.forceRepairRangeAsync(startToken, endToken, keyspace, parallelismDegree.ordinal(),
dataCenters, hosts, columnFamilies);
         waitForRepair();
         return success;
     }


Mime
View raw message