Example usage for org.apache.cassandra.db.compaction SizeTieredCompactionStrategyOptions validateOptions

List of usage examples for org.apache.cassandra.db.compaction SizeTieredCompactionStrategyOptions validateOptions

Introduction

In this page you can find the example usage for org.apache.cassandra.db.compaction SizeTieredCompactionStrategyOptions validateOptions.

Prototype

public static Map<String, String> validateOptions(Map<String, String> options,
            Map<String, String> uncheckedOptions) throws ConfigurationException 

Source Link

Usage

From source file:com.jeffjirsa.cassandra.db.compaction.SizeTieredCompactionStrategy.java

License:Apache License

public static Map<String, String> validateOptions(Map<String, String> options) throws ConfigurationException {
    Map<String, String> uncheckedOptions = AbstractCompactionStrategy.validateOptions(options);
    uncheckedOptions = SizeTieredCompactionStrategyOptions.validateOptions(options, uncheckedOptions);

    uncheckedOptions.remove(CompactionParams.Option.MIN_THRESHOLD.toString());
    uncheckedOptions.remove(CompactionParams.Option.MAX_THRESHOLD.toString());

    return uncheckedOptions;
}

From source file:com.jeffjirsa.cassandra.db.compaction.TimeWindowCompactionStrategyOptions.java

License:Apache License

public static Map<String, String> validateOptions(Map<String, String> options,
        Map<String, String> uncheckedOptions) throws ConfigurationException {
    String optionValue = options.get(TIMESTAMP_RESOLUTION_KEY);
    try {/*from   w ww.ja  v a 2s.  c o m*/
        if (optionValue != null)
            if (!validTimestampTimeUnits.contains(TimeUnit.valueOf(optionValue)))
                throw new ConfigurationException(
                        String.format("%s is not valid for %s", optionValue, TIMESTAMP_RESOLUTION_KEY));
    } catch (IllegalArgumentException e) {
        throw new ConfigurationException(
                String.format("%s is not valid for %s", optionValue, TIMESTAMP_RESOLUTION_KEY));
    }

    optionValue = options.get(COMPACTION_WINDOW_UNIT_KEY);
    try {
        if (optionValue != null)
            if (!validWindowTimeUnits.contains(TimeUnit.valueOf(optionValue)))
                throw new ConfigurationException(
                        String.format("%s is not valid for %s", optionValue, COMPACTION_WINDOW_UNIT_KEY));

    } catch (IllegalArgumentException e) {
        throw new ConfigurationException(
                String.format("%s is not valid for %s", optionValue, COMPACTION_WINDOW_UNIT_KEY), e);
    }

    optionValue = options.get(COMPACTION_WINDOW_SIZE_KEY);
    try {
        int sstableWindowSize = optionValue == null ? DEFAULT_COMPACTION_WINDOW_SIZE
                : Integer.parseInt(optionValue);
        if (sstableWindowSize < 1) {
            throw new ConfigurationException(String.format("%s must be greater than 1",
                    DEFAULT_COMPACTION_WINDOW_SIZE, sstableWindowSize));
        }
    } catch (NumberFormatException e) {
        throw new ConfigurationException(String.format("%s is not a parsable int (base10) for %s", optionValue,
                DEFAULT_COMPACTION_WINDOW_SIZE), e);
    }

    optionValue = options.get(EXPIRED_SSTABLE_CHECK_FREQUENCY_SECONDS_KEY);
    try {
        long expiredCheckFrequency = optionValue == null ? DEFAULT_EXPIRED_SSTABLE_CHECK_FREQUENCY_SECONDS
                : Long.parseLong(optionValue);
        if (expiredCheckFrequency < 0) {
            throw new ConfigurationException(String.format("%s must not be negative, but was %d",
                    EXPIRED_SSTABLE_CHECK_FREQUENCY_SECONDS_KEY, expiredCheckFrequency));
        }
    } catch (NumberFormatException e) {
        throw new ConfigurationException(String.format("%s is not a parsable int (base10) for %s", optionValue,
                EXPIRED_SSTABLE_CHECK_FREQUENCY_SECONDS_KEY), e);
    }

    uncheckedOptions.remove(COMPACTION_WINDOW_SIZE_KEY);
    uncheckedOptions.remove(COMPACTION_WINDOW_UNIT_KEY);
    uncheckedOptions.remove(TIMESTAMP_RESOLUTION_KEY);
    uncheckedOptions.remove(EXPIRED_SSTABLE_CHECK_FREQUENCY_SECONDS_KEY);
    uncheckedOptions.remove(PERFORM_CLEANUP);

    uncheckedOptions = SizeTieredCompactionStrategyOptions.validateOptions(options, uncheckedOptions);

    return uncheckedOptions;
}