mirror of https://github.com/apache/cassandra
Merge branch 'cassandra-2.0' into cassandra-2.1
Conflicts: src/java/org/apache/cassandra/service/StorageService.java src/java/org/apache/cassandra/service/StorageServiceMBean.java src/java/org/apache/cassandra/tools/NodeProbe.java
This commit is contained in:
commit
f8b43d4a81
|
|
@ -2497,11 +2497,15 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
|
|||
|
||||
public int forceRepairAsync(String keyspace, boolean isSequential, Collection<String> dataCenters, Collection<String> hosts, boolean primaryRange, boolean fullRepair, String... columnFamilies) throws IOException
|
||||
{
|
||||
return forceRepairAsync(keyspace, isSequential ? RepairParallelism.SEQUENTIAL : RepairParallelism.PARALLEL, dataCenters, hosts, primaryRange, fullRepair, columnFamilies);
|
||||
return forceRepairAsync(keyspace, isSequential ? RepairParallelism.SEQUENTIAL.ordinal() : RepairParallelism.PARALLEL.ordinal(), dataCenters, hosts, primaryRange, fullRepair, columnFamilies);
|
||||
}
|
||||
|
||||
public int forceRepairAsync(String keyspace, RepairParallelism parallelismDegree, Collection<String> dataCenters, Collection<String> hosts, boolean primaryRange, boolean fullRepair, String... columnFamilies)
|
||||
public int forceRepairAsync(String keyspace, int parallelismDegree, Collection<String> dataCenters, Collection<String> hosts, boolean primaryRange, boolean fullRepair, String... columnFamilies)
|
||||
{
|
||||
if (parallelismDegree < 0 || parallelismDegree > RepairParallelism.values().length - 1)
|
||||
{
|
||||
throw new IllegalArgumentException("Invalid parallelism degree specified: " + parallelismDegree);
|
||||
}
|
||||
Collection<Range<Token>> ranges;
|
||||
if (primaryRange)
|
||||
{
|
||||
|
|
@ -2519,7 +2523,7 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
|
|||
ranges = getLocalRanges(keyspace);
|
||||
}
|
||||
|
||||
return forceRepairAsync(keyspace, parallelismDegree, dataCenters, hosts, ranges, fullRepair, columnFamilies);
|
||||
return forceRepairAsync(keyspace, RepairParallelism.values()[parallelismDegree], dataCenters, hosts, ranges, fullRepair, columnFamilies);
|
||||
}
|
||||
|
||||
public int forceRepairAsync(String keyspace, boolean isSequential, Collection<String> dataCenters, Collection<String> hosts, Collection<Range<Token>> ranges, boolean fullRepair, String... columnFamilies)
|
||||
|
|
@ -2582,16 +2586,22 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
|
|||
|
||||
public int forceRepairRangeAsync(String beginToken, String endToken, String keyspaceName, boolean isSequential, Collection<String> dataCenters, Collection<String> hosts, boolean fullRepair, String... columnFamilies) throws IOException
|
||||
{
|
||||
return forceRepairRangeAsync(beginToken, endToken, keyspaceName, isSequential ? RepairParallelism.SEQUENTIAL : RepairParallelism.PARALLEL, dataCenters, hosts, fullRepair, columnFamilies);
|
||||
return forceRepairRangeAsync(beginToken, endToken, keyspaceName, isSequential ? RepairParallelism.SEQUENTIAL.ordinal() : RepairParallelism.PARALLEL.ordinal(), dataCenters, hosts, fullRepair, columnFamilies);
|
||||
}
|
||||
|
||||
public int forceRepairRangeAsync(String beginToken, String endToken, String keyspaceName, RepairParallelism parallelismDegree, Collection<String> dataCenters, Collection<String> hosts, boolean fullRepair, String... columnFamilies)
|
||||
public int forceRepairRangeAsync(String beginToken, String endToken, String keyspaceName, int parallelismDegree, Collection<String> dataCenters, Collection<String> hosts, boolean fullRepair, 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);
|
||||
return forceRepairAsync(keyspaceName, parallelismDegree, dataCenters, hosts, repairingRange, fullRepair, columnFamilies);
|
||||
|
||||
RepairParallelism parallelism = RepairParallelism.values()[parallelismDegree];
|
||||
return forceRepairAsync(keyspaceName, parallelism, dataCenters, hosts, repairingRange, fullRepair, columnFamilies);
|
||||
}
|
||||
|
||||
public int forceRepairRangeAsync(String beginToken, String endToken, String keyspaceName, boolean isSequential, boolean isLocal, boolean fullRepair, String... columnFamilies)
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
@ -283,9 +281,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, Collection<String> hosts, boolean primaryRange, boolean fullRepair, String... columnFamilies);
|
||||
public int forceRepairAsync(String keyspace, int parallelismDegree, Collection<String> dataCenters, Collection<String> hosts, boolean primaryRange, boolean fullRepair, String... columnFamilies);
|
||||
|
||||
/**
|
||||
* Same as forceRepairAsync, but handles a specified range
|
||||
|
|
@ -294,8 +293,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, String keyspaceName, RepairParallelism parallelismDegree, Collection<String> dataCenters, Collection<String> hosts, boolean fullRepair, String... columnFamilies);
|
||||
public int forceRepairRangeAsync(String beginToken, String endToken, String keyspaceName, int parallelismDegree, Collection<String> dataCenters, Collection<String> hosts, boolean fullRepair, String... columnFamilies);
|
||||
|
||||
/**
|
||||
* Invoke repair asynchronously.
|
||||
|
|
|
|||
|
|
@ -1309,14 +1309,14 @@ class RepairRunner implements NotificationListener
|
|||
|
||||
public boolean repairAndWait(StorageServiceMBean ssProxy, RepairParallelism parallelismDegree, Collection<String> dataCenters, Collection<String> hosts, boolean primaryRangeOnly, boolean fullRepair) throws Exception
|
||||
{
|
||||
cmd = ssProxy.forceRepairAsync(keyspace, parallelismDegree, dataCenters, hosts, primaryRangeOnly, fullRepair, columnFamilies);
|
||||
cmd = ssProxy.forceRepairAsync(keyspace, parallelismDegree.ordinal(), dataCenters, hosts, primaryRangeOnly, fullRepair, columnFamilies);
|
||||
waitForRepair();
|
||||
return success;
|
||||
}
|
||||
|
||||
public boolean repairRangeAndWait(StorageServiceMBean ssProxy, RepairParallelism parallelismDegree, Collection<String> dataCenters, Collection<String> hosts, String startToken, String endToken, boolean fullRepair) throws Exception
|
||||
{
|
||||
cmd = ssProxy.forceRepairRangeAsync(startToken, endToken, keyspace, parallelismDegree, dataCenters, hosts, fullRepair, columnFamilies);
|
||||
cmd = ssProxy.forceRepairRangeAsync(startToken, endToken, keyspace, parallelismDegree.ordinal(), dataCenters, hosts, fullRepair, columnFamilies);
|
||||
waitForRepair();
|
||||
return success;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue