Example usage for org.apache.cassandra.repair.messages RepairOption RANGES_KEY

List of usage examples for org.apache.cassandra.repair.messages RepairOption RANGES_KEY

Introduction

In this page you can find the example usage for org.apache.cassandra.repair.messages RepairOption RANGES_KEY.

Prototype

String RANGES_KEY

To view the source code for org.apache.cassandra.repair.messages RepairOption RANGES_KEY.

Click Source Link

Usage

From source file:io.cassandrareaper.jmx.JmxProxyImpl.java

License:Apache License

private int triggerRepairPost2dot2(boolean fullRepair, RepairParallelism repairParallelism, String keyspace,
        Collection<String> columnFamilies, BigInteger beginToken, BigInteger endToken, String cassandraVersion,
        Collection<String> datacenters, RepairStatusHandler repairStatusHandler,
        List<RingRange> associatedTokens, int repairThreadCount) {

    Map<String, String> options = new HashMap<>();

    options.put(RepairOption.PARALLELISM_KEY, repairParallelism.getName());
    options.put(RepairOption.INCREMENTAL_KEY, Boolean.toString(!fullRepair));
    options.put(RepairOption.JOB_THREADS_KEY, Integer.toString(repairThreadCount == 0 ? 1 : repairThreadCount));
    options.put(RepairOption.TRACE_KEY, Boolean.toString(Boolean.FALSE));
    options.put(RepairOption.COLUMNFAMILIES_KEY, StringUtils.join(columnFamilies, ","));
    // options.put(RepairOption.PULL_REPAIR_KEY, Boolean.FALSE);
    if (fullRepair) {
        options.put(RepairOption.RANGES_KEY, StringUtils.join(associatedTokens.stream()
                .map(token -> token.getStart() + ":" + token.getEnd()).collect(Collectors.toList()), ","));
    }/*from   w ww. j av  a  2s.  c  om*/

    LOG.info("Triggering repair for ranges {}", options.get(RepairOption.RANGES_KEY));

    options.put(RepairOption.DATACENTERS_KEY, StringUtils.join(datacenters, ","));
    // options.put(RepairOption.HOSTS_KEY, StringUtils.join(specificHosts, ","));
    int commandId = ((StorageServiceMBean) ssProxy).repairAsync(keyspace, options);
    repairStatusHandlers.putIfAbsent(commandId, repairStatusHandler);

    return commandId;
}