mirror of https://github.com/apache/cassandra
Merge branch 'cassandra-2.1' into cassandra-2.2
This commit is contained in:
commit
c08aaf69b4
|
|
@ -4,6 +4,8 @@
|
|||
Merged from 2.1:
|
||||
* Gossiper#isEnabled is not thread safe (CASSANDRA-11116)
|
||||
* Avoid major compaction mixing repaired and unrepaired sstables in DTCS (CASSANDRA-11113)
|
||||
* Make it clear what DTCS timestamp_resolution is used for (CASSANDRA-11041)
|
||||
* test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)
|
||||
|
||||
|
||||
2.2.5
|
||||
|
|
@ -35,7 +37,6 @@ Merged from 2.1:
|
|||
* Verify tables in pseudo-system keyspaces at startup (CASSANDRA-10761)
|
||||
* (cqlsh) encode input correctly when saving history
|
||||
Merged from 2.1:
|
||||
* test_bulk_round_trip_blogposts is failing occasionally (CASSANDRA-10938)
|
||||
* Fix isJoined return true only after becoming cluster member (CASANDRA-11007)
|
||||
* Fix bad gossip generation seen in long-running clusters (CASSANDRA-10969)
|
||||
* Avoid NPE when incremental repair fails (CASSANDRA-10909)
|
||||
|
|
|
|||
|
|
@ -359,7 +359,7 @@ The @compaction@ property must at least define the @'class'@ sub-option, that de
|
|||
| @bucket_low@ | SizeTieredCompactionStrategy | 0.5 | Size tiered consider sstables to be within the same bucket if their size is within [average_size * @bucket_low@, average_size * @bucket_high@ ] (i.e the default groups sstable whose sizes diverges by at most 50%)|
|
||||
| @bucket_high@ | SizeTieredCompactionStrategy | 1.5 | Size tiered consider sstables to be within the same bucket if their size is within [average_size * @bucket_low@, average_size * @bucket_high@ ] (i.e the default groups sstable whose sizes diverges by at most 50%).|
|
||||
| @sstable_size_in_mb@ | LeveledCompactionStrategy | 5MB | The target size (in MB) for sstables in the leveled strategy. Note that while sstable sizes should stay less or equal to @sstable_size_in_mb@, it is possible to exceptionally have a larger sstable as during compaction, data for a given partition key are never split into 2 sstables|
|
||||
| @timestamp_resolution@ | DateTieredCompactionStrategy | MICROSECONDS | The timestamp resolution used when inserting data, could be MILLISECONDS, MICROSECONDS etc (should be understandable by Java TimeUnit)|
|
||||
| @timestamp_resolution@ | DateTieredCompactionStrategy | MICROSECONDS | The timestamp resolution used when inserting data, could be MILLISECONDS, MICROSECONDS etc (should be understandable by Java TimeUnit) - don't change this unless you do mutations with USING TIMESTAMP <non_microsecond_timestamps> (or equivalent directly in the client)|
|
||||
| @base_time_seconds@ | DateTieredCompactionStrategy | 60 | The base size of the time windows. |
|
||||
| @max_sstable_age_days@ | DateTieredCompactionStrategy | 365 | SSTables only containing data that is older than this will never be compacted. |
|
||||
|
||||
|
|
|
|||
|
|
@ -502,7 +502,6 @@ def cf_prop_val_mapkey_completer(ctxt, cass):
|
|||
elif csc == 'DateTieredCompactionStrategy':
|
||||
opts.add('base_time_seconds')
|
||||
opts.add('max_sstable_age_days')
|
||||
opts.add('timestamp_resolution')
|
||||
opts.add('min_threshold')
|
||||
opts.add('max_window_size_seconds')
|
||||
return map(escape_value, opts)
|
||||
|
|
|
|||
|
|
@ -20,10 +20,14 @@ package org.apache.cassandra.db.compaction;
|
|||
import java.util.Map;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import org.apache.cassandra.exceptions.ConfigurationException;
|
||||
|
||||
public final class DateTieredCompactionStrategyOptions
|
||||
{
|
||||
private static final Logger logger = LoggerFactory.getLogger(DateTieredCompactionStrategy.class);
|
||||
protected static final TimeUnit DEFAULT_TIMESTAMP_RESOLUTION = TimeUnit.MICROSECONDS;
|
||||
@Deprecated
|
||||
protected static final double DEFAULT_MAX_SSTABLE_AGE_DAYS = 365*1000;
|
||||
|
|
@ -48,6 +52,8 @@ public final class DateTieredCompactionStrategyOptions
|
|||
{
|
||||
String optionValue = options.get(TIMESTAMP_RESOLUTION_KEY);
|
||||
TimeUnit timestampResolution = optionValue == null ? DEFAULT_TIMESTAMP_RESOLUTION : TimeUnit.valueOf(optionValue);
|
||||
if (timestampResolution != DEFAULT_TIMESTAMP_RESOLUTION)
|
||||
logger.warn("Using a non-default timestamp_resolution {} - are you really doing inserts with USING TIMESTAMP <non_microsecond_timestamp> (or driver equivalent)?", timestampResolution.toString());
|
||||
optionValue = options.get(MAX_SSTABLE_AGE_KEY);
|
||||
double fractionalDays = optionValue == null ? DEFAULT_MAX_SSTABLE_AGE_DAYS : Double.parseDouble(optionValue);
|
||||
maxSSTableAge = Math.round(fractionalDays * timestampResolution.convert(1, TimeUnit.DAYS));
|
||||
|
|
|
|||
Loading…
Reference in New Issue