mirror of https://github.com/apache/cassandra
Merge branch 'cassandra-3.9' into trunk
This commit is contained in:
commit
d8ca69c01d
|
|
@ -20,6 +20,7 @@
|
|||
* cqlsh: Fix handling of $$-escaped strings (CASSANDRA-12189)
|
||||
* Fix SSL JMX requiring truststore containing server cert (CASSANDRA-12109)
|
||||
Merged from 3.0:
|
||||
* Add option to override compaction space check (CASSANDRA-12180)
|
||||
* Faster startup by only scanning each directory for temporary files once (CASSANDRA-12114)
|
||||
* Respond with v1/v2 protocol header when responding to driver that attempts
|
||||
to connect with too low of a protocol version (CASSANDRA-11464)
|
||||
|
|
@ -31,6 +32,7 @@ Merged from 2.2:
|
|||
Merged from 2.1:
|
||||
* cannot use cql since upgrading python to 2.7.11+ (CASSANDRA-11850)
|
||||
|
||||
|
||||
3.8
|
||||
* Fix hdr logging for single operation workloads (CASSANDRA-12145)
|
||||
* Fix SASI PREFIX search in CONTAINS mode with partial terms (CASSANDRA-12073)
|
||||
|
|
|
|||
|
|
@ -175,6 +175,7 @@ public class Config
|
|||
public Integer concurrent_compactors;
|
||||
public volatile Integer compaction_throughput_mb_per_sec = 16;
|
||||
public volatile Integer compaction_large_partition_warning_threshold_mb = 100;
|
||||
public Integer min_free_space_per_drive_in_mb = 50;
|
||||
|
||||
public Integer max_streaming_retries = 3;
|
||||
|
||||
|
|
|
|||
|
|
@ -1381,6 +1381,11 @@ public class DatabaseDescriptor
|
|||
|
||||
public static int getCompactionLargePartitionWarningThreshold() { return conf.compaction_large_partition_warning_threshold_mb * 1024 * 1024; }
|
||||
|
||||
public static long getMinFreeSpacePerDriveInBytes()
|
||||
{
|
||||
return conf.min_free_space_per_drive_in_mb * 1024L * 1024L;
|
||||
}
|
||||
|
||||
public static boolean getDisableSTCSInL0()
|
||||
{
|
||||
return Boolean.getBoolean("cassandra.disable_stcs_in_l0");
|
||||
|
|
|
|||
|
|
@ -248,6 +248,8 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean
|
|||
public volatile long sampleLatencyNanos;
|
||||
private final ScheduledFuture<?> latencyCalculator;
|
||||
|
||||
private volatile boolean compactionSpaceCheck = true;
|
||||
|
||||
public static void shutdownPostFlushExecutor() throws InterruptedException
|
||||
{
|
||||
postFlushExecutor.shutdown();
|
||||
|
|
@ -1727,6 +1729,16 @@ public class ColumnFamilyStore implements ColumnFamilyStoreMBean
|
|||
samplerResults.cardinality, result});
|
||||
}
|
||||
|
||||
public boolean isCompactionDiskSpaceCheckEnabled()
|
||||
{
|
||||
return compactionSpaceCheck;
|
||||
}
|
||||
|
||||
public void compactionDiskSpaceCheck(boolean enable)
|
||||
{
|
||||
compactionSpaceCheck = enable;
|
||||
}
|
||||
|
||||
public void cleanupCache()
|
||||
{
|
||||
Collection<Range<Token>> ranges = StorageService.instance.getLocalRanges(keyspace.getName());
|
||||
|
|
|
|||
|
|
@ -169,4 +169,14 @@ public interface ColumnFamilyStoreMBean
|
|||
* @return top <i>count</i> items for the sampler since beginLocalSampling was called
|
||||
*/
|
||||
public CompositeData finishLocalSampling(String sampler, int count) throws OpenDataException;
|
||||
|
||||
/*
|
||||
Is Compaction space check enabled
|
||||
*/
|
||||
public boolean isCompactionDiskSpaceCheckEnabled();
|
||||
|
||||
/*
|
||||
Enable/Disable compaction space check
|
||||
*/
|
||||
public void compactionDiskSpaceCheck(boolean enable);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -545,7 +545,8 @@ public class Directories
|
|||
|
||||
public long getAvailableSpace()
|
||||
{
|
||||
return location.getUsableSpace();
|
||||
long availableSpace = location.getUsableSpace() - DatabaseDescriptor.getMinFreeSpacePerDriveInBytes();
|
||||
return availableSpace > 0 ? availableSpace : 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -297,6 +297,12 @@ public class CompactionTask extends AbstractCompactionTask
|
|||
|
||||
protected void checkAvailableDiskSpace(long estimatedSSTables, long expectedWriteSize)
|
||||
{
|
||||
if(!cfs.isCompactionDiskSpaceCheckEnabled() && compactionType == OperationType.COMPACTION)
|
||||
{
|
||||
logger.info("Compaction space check is disabled");
|
||||
return;
|
||||
}
|
||||
|
||||
while (!getDirectories().hasAvailableDiskSpace(estimatedSSTables, expectedWriteSize))
|
||||
{
|
||||
if (!reduceScopeForLimitedSpace())
|
||||
|
|
|
|||
Loading…
Reference in New Issue