public SizeTieredCompactionStrategy(ColumnFamilyStore cfs, Map<String, String> options) { super(cfs, options); this.estimatedRemainingTasks = 0; String optionValue = options.get(MIN_SSTABLE_SIZE_KEY); minSSTableSize = optionValue == null ? DEFAULT_MIN_SSTABLE_SIZE : Long.parseLong(optionValue); optionValue = options.get(BUCKET_LOW_KEY); bucketLow = optionValue == null ? DEFAULT_BUCKET_LOW : Double.parseDouble(optionValue); optionValue = options.get(BUCKET_HIGH_KEY); bucketHigh = optionValue == null ? DEFAULT_BUCKET_HIGH : Double.parseDouble(optionValue); if (bucketHigh <= bucketLow) { logger.warn( "Bucket low/high marks for {} incorrect, using defaults.", cfs.getColumnFamilyName()); bucketLow = DEFAULT_BUCKET_LOW; bucketHigh = DEFAULT_BUCKET_HIGH; } cfs.setCompactionThresholds( cfs.metadata.getMinCompactionThreshold(), cfs.metadata.getMaxCompactionThreshold()); }