Config class uses boxed types but DD exposes primitive types

patch by Robert Stupp; reviewed by Carl Yeksigian for CASSANDRA-12199
This commit is contained in:
Robert Stupp 2016-10-05 09:39:03 +02:00 committed by Robert Stupp
parent 9fd0d0747b
commit b3a4e2005e
10 changed files with 160 additions and 151 deletions

View File

@ -1,4 +1,5 @@
3.10
* Config class uses boxed types but DD exposes primitive types (CASSANDRA-12199)
* Add pre- and post-shutdown hooks to Storage Service (CASSANDRA-12461)
* Add hint delivery metrics (CASSANDRA-12693)
* Remove IndexInfo cache from FileIndexInfoRetriever (CASSANDRA-12731)

View File

@ -63,10 +63,10 @@ public class Config
/* Hashing strategy Random or OPHF */
public String partitioner;
public Boolean auto_bootstrap = true;
public boolean auto_bootstrap = true;
public volatile boolean hinted_handoff_enabled = true;
public Set<String> hinted_handoff_disabled_datacenters = Sets.newConcurrentHashSet();
public volatile Integer max_hint_window_in_ms = 3 * 3600 * 1000; // three hours
public volatile int max_hint_window_in_ms = 3 * 3600 * 1000; // three hours
public String hints_directory;
public ParameterizedClass seed_provider;
@ -77,29 +77,29 @@ public class Config
/* initial token in the ring */
public String initial_token;
public Integer num_tokens = 1;
public int num_tokens = 1;
/** Triggers automatic allocation of tokens if set, using the replication strategy of the referenced keyspace */
public String allocate_tokens_for_keyspace = null;
public volatile Long request_timeout_in_ms = 10000L;
public volatile long request_timeout_in_ms = 10000L;
public volatile Long read_request_timeout_in_ms = 5000L;
public volatile long read_request_timeout_in_ms = 5000L;
public volatile Long range_request_timeout_in_ms = 10000L;
public volatile long range_request_timeout_in_ms = 10000L;
public volatile Long write_request_timeout_in_ms = 2000L;
public volatile long write_request_timeout_in_ms = 2000L;
public volatile Long counter_write_request_timeout_in_ms = 5000L;
public volatile long counter_write_request_timeout_in_ms = 5000L;
public volatile Long cas_contention_timeout_in_ms = 1000L;
public volatile long cas_contention_timeout_in_ms = 1000L;
public volatile Long truncate_request_timeout_in_ms = 60000L;
public volatile long truncate_request_timeout_in_ms = 60000L;
/**
* @deprecated use {@link this#streaming_keep_alive_period_in_secs} instead
*/
@Deprecated
public Integer streaming_socket_timeout_in_ms = 86400000; //24 hours
public int streaming_socket_timeout_in_ms = 86400000; //24 hours
public Integer streaming_keep_alive_period_in_secs = 300; //5 minutes
@ -107,88 +107,88 @@ public class Config
public volatile long slow_query_log_timeout_in_ms = 500L;
public volatile Double phi_convict_threshold = 8.0;
public volatile double phi_convict_threshold = 8.0;
public Integer concurrent_reads = 32;
public Integer concurrent_writes = 32;
public Integer concurrent_counter_writes = 32;
public Integer concurrent_materialized_view_writes = 32;
public int concurrent_reads = 32;
public int concurrent_writes = 32;
public int concurrent_counter_writes = 32;
public int concurrent_materialized_view_writes = 32;
@Deprecated
public Integer concurrent_replicates = null;
public Integer memtable_flush_writers = null;
public int memtable_flush_writers = 0;
public Integer memtable_heap_space_in_mb;
public Integer memtable_offheap_space_in_mb;
public Float memtable_cleanup_threshold = null;
public Integer storage_port = 7000;
public Integer ssl_storage_port = 7001;
public int storage_port = 7000;
public int ssl_storage_port = 7001;
public String listen_address;
public String listen_interface;
public Boolean listen_interface_prefer_ipv6 = false;
public boolean listen_interface_prefer_ipv6 = false;
public String broadcast_address;
public Boolean listen_on_broadcast_address = false;
public boolean listen_on_broadcast_address = false;
public String internode_authenticator;
/* intentionally left set to true, despite being set to false in stock 2.2 cassandra.yaml
we don't want to surprise Thrift users who have the setting blank in the yaml during 2.1->2.2 upgrade */
public Boolean start_rpc = true;
public boolean start_rpc = true;
public String rpc_address;
public String rpc_interface;
public Boolean rpc_interface_prefer_ipv6 = false;
public boolean rpc_interface_prefer_ipv6 = false;
public String broadcast_rpc_address;
public Integer rpc_port = 9160;
public Integer rpc_listen_backlog = 50;
public int rpc_port = 9160;
public int rpc_listen_backlog = 50;
public String rpc_server_type = "sync";
public Boolean rpc_keepalive = true;
public Integer rpc_min_threads = 16;
public Integer rpc_max_threads = Integer.MAX_VALUE;
public boolean rpc_keepalive = true;
public int rpc_min_threads = 16;
public int rpc_max_threads = Integer.MAX_VALUE;
public Integer rpc_send_buff_size_in_bytes;
public Integer rpc_recv_buff_size_in_bytes;
public Integer internode_send_buff_size_in_bytes;
public Integer internode_recv_buff_size_in_bytes;
public int internode_send_buff_size_in_bytes = 0;
public int internode_recv_buff_size_in_bytes = 0;
public Boolean start_native_transport = false;
public Integer native_transport_port = 9042;
public boolean start_native_transport = false;
public int native_transport_port = 9042;
public Integer native_transport_port_ssl = null;
public Integer native_transport_max_threads = 128;
public Integer native_transport_max_frame_size_in_mb = 256;
public volatile Long native_transport_max_concurrent_connections = -1L;
public volatile Long native_transport_max_concurrent_connections_per_ip = -1L;
public int native_transport_max_threads = 128;
public int native_transport_max_frame_size_in_mb = 256;
public volatile long native_transport_max_concurrent_connections = -1L;
public volatile long native_transport_max_concurrent_connections_per_ip = -1L;
@Deprecated
public Integer thrift_max_message_length_in_mb = 16;
public int thrift_max_message_length_in_mb = 16;
/**
* Max size of values in SSTables, in MegaBytes.
* Default is the same as the native protocol frame limit: 256Mb.
* See AbstractType for how it is used.
*/
public Integer max_value_size_in_mb = 256;
public int max_value_size_in_mb = 256;
public Integer thrift_framed_transport_size_in_mb = 15;
public Boolean snapshot_before_compaction = false;
public Boolean auto_snapshot = true;
public int thrift_framed_transport_size_in_mb = 15;
public boolean snapshot_before_compaction = false;
public boolean auto_snapshot = true;
/* if the size of columns or super-columns are more than this, indexing will kick in */
public Integer column_index_size_in_kb = 64;
public Integer column_index_cache_size_in_kb = 2;
public int column_index_size_in_kb = 64;
public int column_index_cache_size_in_kb = 2;
public volatile int batch_size_warn_threshold_in_kb = 5;
public volatile int batch_size_fail_threshold_in_kb = 50;
public Integer unlogged_batch_across_partitions_warn_threshold = 10;
public volatile 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 volatile int compaction_throughput_mb_per_sec = 16;
public volatile int compaction_large_partition_warning_threshold_mb = 100;
public int min_free_space_per_drive_in_mb = 50;
/**
* @deprecated retry support removed on CASSANDRA-10992
*/
@Deprecated
public Integer max_streaming_retries = 3;
public int max_streaming_retries = 3;
public volatile Integer stream_throughput_outbound_megabits_per_sec = 200;
public volatile Integer inter_dc_stream_throughput_outbound_megabits_per_sec = 200;
public volatile int stream_throughput_outbound_megabits_per_sec = 200;
public volatile int inter_dc_stream_throughput_outbound_megabits_per_sec = 200;
public String[] data_file_directories = new String[0];
@ -198,8 +198,8 @@ public class Config
public String commitlog_directory;
public Integer commitlog_total_space_in_mb;
public CommitLogSync commitlog_sync;
public Double commitlog_sync_batch_window_in_ms;
public Integer commitlog_sync_period_in_ms;
public double commitlog_sync_batch_window_in_ms = Double.NaN;
public int commitlog_sync_period_in_ms;
public int commitlog_segment_size_in_mb = 32;
public ParameterizedClass commitlog_compression;
public int commitlog_max_compression_buffers_in_pool = 3;
@ -208,19 +208,19 @@ public class Config
public Integer max_mutation_size_in_kb;
// Change-data-capture logs
public Boolean cdc_enabled = false;
public boolean cdc_enabled = false;
public String cdc_raw_directory;
public Integer cdc_total_space_in_mb;
public Integer cdc_free_space_check_interval_ms = 250;
public int cdc_total_space_in_mb = 0;
public int cdc_free_space_check_interval_ms = 250;
@Deprecated
public int commitlog_periodic_queue_size = -1;
public String endpoint_snitch;
public Boolean dynamic_snitch = true;
public volatile Integer dynamic_snitch_update_interval_in_ms = 100;
public volatile Integer dynamic_snitch_reset_interval_in_ms = 600000;
public volatile Double dynamic_snitch_badness_threshold = 0.1;
public boolean dynamic_snitch = true;
public int dynamic_snitch_update_interval_in_ms = 100;
public int dynamic_snitch_reset_interval_in_ms = 600000;
public double dynamic_snitch_badness_threshold = 0.1;
public String request_scheduler;
public RequestSchedulerId request_scheduler_id;

View File

@ -120,6 +120,11 @@ public class DatabaseDescriptor
private static boolean toolInitialized;
private static boolean daemonInitialized;
private static final int searchConcurrencyFactor = Integer.parseInt(System.getProperty(Config.PROPERTY_PREFIX + "search_concurrency_factor", "1"));
private static final boolean disableSTCSInL0 = Boolean.getBoolean(Config.PROPERTY_PREFIX + "disable_stcs_in_l0");
private static final boolean unsafeSystem = Boolean.getBoolean(Config.PROPERTY_PREFIX + "unsafesystem");
public static void daemonInitialization() throws ConfigurationException
{
if (toolInitialized)
@ -249,7 +254,7 @@ public class DatabaseDescriptor
@VisibleForTesting
public static Config loadConfig() throws ConfigurationException
{
String loaderClass = System.getProperty("cassandra.config.loader");
String loaderClass = System.getProperty(Config.PROPERTY_PREFIX + "config.loader");
ConfigurationLoader loader = loaderClass == null
? new YamlConfigurationLoader()
: FBUtilities.<ConfigurationLoader>construct(loaderClass, "configuration loading");
@ -330,11 +335,11 @@ public class DatabaseDescriptor
if (conf.commitlog_sync == Config.CommitLogSync.batch)
{
if (conf.commitlog_sync_batch_window_in_ms == null)
if (Double.isNaN(conf.commitlog_sync_batch_window_in_ms) || conf.commitlog_sync_batch_window_in_ms <= 0d)
{
throw new ConfigurationException("Missing value for commitlog_sync_batch_window_in_ms: Double expected.", false);
throw new ConfigurationException("Missing value for commitlog_sync_batch_window_in_ms: positive double value expected.", false);
}
else if (conf.commitlog_sync_period_in_ms != null)
else if (conf.commitlog_sync_period_in_ms != 0)
{
throw new ConfigurationException("Batch sync specified, but commitlog_sync_period_in_ms found. Only specify commitlog_sync_batch_window_in_ms when using batch sync", false);
}
@ -342,11 +347,11 @@ public class DatabaseDescriptor
}
else
{
if (conf.commitlog_sync_period_in_ms == null)
if (conf.commitlog_sync_period_in_ms <= 0)
{
throw new ConfigurationException("Missing value for commitlog_sync_period_in_ms: Integer expected", false);
throw new ConfigurationException("Missing value for commitlog_sync_period_in_ms: positive integer expected", false);
}
else if (conf.commitlog_sync_batch_window_in_ms != null)
else if (!Double.isNaN(conf.commitlog_sync_batch_window_in_ms))
{
throw new ConfigurationException("commitlog_sync_period_in_ms specified, but commitlog_sync_batch_window_in_ms found. Only specify commitlog_sync_period_in_ms when using periodic sync.", false);
}
@ -377,11 +382,6 @@ public class DatabaseDescriptor
throw new ConfigurationException("gc_warn_threshold_in_ms must be a positive integer");
}
if (conf.max_hint_window_in_ms == null)
{
throw new ConfigurationException("max_hint_window_in_ms cannot be set to null", false);
}
/* phi convict threshold for FailureDetector */
if (conf.phi_convict_threshold < 5 || conf.phi_convict_threshold > 16)
{
@ -389,17 +389,17 @@ public class DatabaseDescriptor
}
/* Thread per pool */
if (conf.concurrent_reads != null && conf.concurrent_reads < 2)
if (conf.concurrent_reads < 2)
{
throw new ConfigurationException("concurrent_reads must be at least 2, but was " + conf.concurrent_reads, false);
}
if (conf.concurrent_writes != null && conf.concurrent_writes < 2)
if (conf.concurrent_writes < 2)
{
throw new ConfigurationException("concurrent_writes must be at least 2, but was " + conf.concurrent_writes, false);
}
if (conf.concurrent_counter_writes != null && conf.concurrent_counter_writes < 2)
if (conf.concurrent_counter_writes < 2)
throw new ConfigurationException("concurrent_counter_writes must be at least 2, but was " + conf.concurrent_counter_writes, false);
if (conf.concurrent_replicates != null)
@ -433,26 +433,17 @@ public class DatabaseDescriptor
// use -Dcassandra.storagedir (set in cassandra-env.sh) as the parent dir for data/, commitlog/, and saved_caches/
if (conf.commitlog_directory == null)
{
conf.commitlog_directory = System.getProperty("cassandra.storagedir", null);
if (conf.commitlog_directory == null)
throw new ConfigurationException("commitlog_directory is missing and -Dcassandra.storagedir is not set", false);
conf.commitlog_directory += File.separator + "commitlog";
conf.commitlog_directory = storagedirFor("commitlog");
}
if (conf.hints_directory == null)
{
conf.hints_directory = System.getProperty("cassandra.storagedir", null);
if (conf.hints_directory == null)
throw new ConfigurationException("hints_directory is missing and -Dcassandra.storagedir is not set", false);
conf.hints_directory += File.separator + "hints";
conf.hints_directory = storagedirFor("hints");
}
if (conf.cdc_raw_directory == null)
{
conf.cdc_raw_directory = System.getProperty("cassandra.storagedir", null);
if (conf.cdc_raw_directory == null)
throw new ConfigurationException("cdc_raw_directory is missing and -Dcassandra.storagedir is not set", false);
conf.cdc_raw_directory += File.separator + "cdc_raw";
conf.cdc_raw_directory = storagedirFor("cdc_raw");
}
if (conf.commitlog_total_space_in_mb == null)
@ -482,7 +473,7 @@ public class DatabaseDescriptor
}
}
if (conf.cdc_total_space_in_mb == null)
if (conf.cdc_total_space_in_mb == 0)
{
int preferredSize = 4096;
int minSize = 0;
@ -509,24 +500,18 @@ public class DatabaseDescriptor
}
}
if (conf.cdc_enabled == true)
if (conf.cdc_enabled)
{
logger.info("cdc_enabled is true. Starting casssandra node with Change-Data-Capture enabled.");
}
if (conf.saved_caches_directory == null)
{
conf.saved_caches_directory = System.getProperty("cassandra.storagedir", null);
if (conf.saved_caches_directory == null)
throw new ConfigurationException("saved_caches_directory is missing and -Dcassandra.storagedir is not set", false);
conf.saved_caches_directory += File.separator + "saved_caches";
conf.saved_caches_directory = storagedirFor("saved_caches");
}
if (conf.data_file_directories == null || conf.data_file_directories.length == 0)
{
String defaultDataDir = System.getProperty("cassandra.storagedir", null);
if (defaultDataDir == null)
throw new ConfigurationException("data_file_directories is not missing and -Dcassandra.storagedir is not set", false);
conf.data_file_directories = new String[]{ defaultDataDir + File.separator + "data" };
conf.data_file_directories = new String[]{ storagedir("data_file_directories") + File.separator + "data" };
}
long dataFreeBytes = 0;
@ -563,7 +548,7 @@ public class DatabaseDescriptor
if (conf.hints_directory.equals(conf.saved_caches_directory))
throw new ConfigurationException("saved_caches_directory must not be the same as the hints_directory", false);
if (conf.memtable_flush_writers == null)
if (conf.memtable_flush_writers == 0)
{
conf.memtable_flush_writers = conf.data_file_directories.length == 1 ? 2 : 1;
}
@ -593,9 +578,7 @@ public class DatabaseDescriptor
if (conf.concurrent_compactors <= 0)
throw new ConfigurationException("concurrent_compactors should be strictly greater than 0, but was " + conf.concurrent_compactors, false);
if (conf.num_tokens == null)
conf.num_tokens = 1;
else if (conf.num_tokens > MAX_NUM_TOKENS)
if (conf.num_tokens > MAX_NUM_TOKENS)
throw new ConfigurationException(String.format("A maximum number of %d tokens per node is supported", MAX_NUM_TOKENS), false);
try
@ -671,6 +654,9 @@ public class DatabaseDescriptor
throw new ConfigurationException("index_summary_capacity_in_mb option was set incorrectly to '"
+ conf.index_summary_capacity_in_mb + "', it should be a non-negative integer.", false);
if (conf.index_interval != null)
logger.warn("index_interval has been deprecated and should be removed from cassandra.yaml");
if(conf.encryption_options != null)
{
logger.warn("Please rename encryption_options as server_encryption_options in the yaml");
@ -693,13 +679,13 @@ public class DatabaseDescriptor
// native transport encryption options
if (conf.native_transport_port_ssl != null
&& conf.native_transport_port_ssl.intValue() != conf.native_transport_port.intValue()
&& conf.native_transport_port_ssl != conf.native_transport_port
&& !conf.client_encryption_options.enabled)
{
throw new ConfigurationException("Encryption must be enabled in client_encryption_options for native_transport_port_ssl", false);
}
if (conf.max_value_size_in_mb == null || conf.max_value_size_in_mb <= 0)
if (conf.max_value_size_in_mb <= 0)
throw new ConfigurationException("max_value_size_in_mb must be positive", false);
switch (conf.disk_optimization_strategy)
@ -734,6 +720,19 @@ public class DatabaseDescriptor
}
}
private static String storagedirFor(String type)
{
return storagedir(type + "_directory") + File.separator + type;
}
private static String storagedir(String errMsgType)
{
String storagedir = System.getProperty(Config.PROPERTY_PREFIX + "storagedir", null);
if (storagedir == null)
throw new ConfigurationException(errMsgType + " is missing and -Dcassandra.storagedir is not set", false);
return storagedir;
}
public static void applyAddressConfig() throws ConfigurationException
{
applyAddressConfig(conf);
@ -965,7 +964,7 @@ public class DatabaseDescriptor
}
try
{
partitioner = FBUtilities.newPartitioner(System.getProperty("cassandra.partitioner", conf.partitioner));
partitioner = FBUtilities.newPartitioner(System.getProperty(Config.PROPERTY_PREFIX + "partitioner", conf.partitioner));
}
catch (Exception e)
{
@ -1281,12 +1280,12 @@ public class DatabaseDescriptor
public static Collection<String> getInitialTokens()
{
return tokensFromString(System.getProperty("cassandra.initial_token", conf.initial_token));
return tokensFromString(System.getProperty(Config.PROPERTY_PREFIX + "initial_token", conf.initial_token));
}
public static String getAllocateTokensForKeyspace()
{
return System.getProperty("cassandra.allocate_tokens_for_keyspace", conf.allocate_tokens_for_keyspace);
return System.getProperty(Config.PROPERTY_PREFIX + "allocate_tokens_for_keyspace", conf.allocate_tokens_for_keyspace);
}
public static Collection<String> tokensFromString(String tokenString)
@ -1298,7 +1297,7 @@ public class DatabaseDescriptor
return tokens;
}
public static Integer getNumTokens()
public static int getNumTokens()
{
return conf.num_tokens;
}
@ -1307,10 +1306,10 @@ public class DatabaseDescriptor
{
try
{
if (System.getProperty("cassandra.replace_address", null) != null)
return InetAddress.getByName(System.getProperty("cassandra.replace_address", null));
else if (System.getProperty("cassandra.replace_address_first_boot", null) != null)
return InetAddress.getByName(System.getProperty("cassandra.replace_address_first_boot", null));
if (System.getProperty(Config.PROPERTY_PREFIX + "replace_address", null) != null)
return InetAddress.getByName(System.getProperty(Config.PROPERTY_PREFIX + "replace_address", null));
else if (System.getProperty(Config.PROPERTY_PREFIX + "replace_address_first_boot", null) != null)
return InetAddress.getByName(System.getProperty(Config.PROPERTY_PREFIX + "replace_address_first_boot", null));
return null;
}
catch (UnknownHostException e)
@ -1321,14 +1320,14 @@ public class DatabaseDescriptor
public static Collection<String> getReplaceTokens()
{
return tokensFromString(System.getProperty("cassandra.replace_token", null));
return tokensFromString(System.getProperty(Config.PROPERTY_PREFIX + "replace_token", null));
}
public static UUID getReplaceNode()
{
try
{
return UUID.fromString(System.getProperty("cassandra.replace_node", null));
return UUID.fromString(System.getProperty(Config.PROPERTY_PREFIX + "replace_node", null));
} catch (NullPointerException e)
{
return null;
@ -1342,17 +1341,17 @@ public class DatabaseDescriptor
public static int getStoragePort()
{
return Integer.parseInt(System.getProperty("cassandra.storage_port", conf.storage_port.toString()));
return Integer.parseInt(System.getProperty(Config.PROPERTY_PREFIX + "storage_port", Integer.toString(conf.storage_port)));
}
public static int getSSLStoragePort()
{
return Integer.parseInt(System.getProperty("cassandra.ssl_storage_port", conf.ssl_storage_port.toString()));
return Integer.parseInt(System.getProperty(Config.PROPERTY_PREFIX + "ssl_storage_port", Integer.toString(conf.ssl_storage_port)));
}
public static int getRpcPort()
{
return Integer.parseInt(System.getProperty("cassandra.rpc_port", conf.rpc_port.toString()));
return Integer.parseInt(System.getProperty(Config.PROPERTY_PREFIX + "rpc_port", Integer.toString(conf.rpc_port)));
}
public static int getRpcListenBacklog()
@ -1365,7 +1364,7 @@ public class DatabaseDescriptor
return conf.request_timeout_in_ms;
}
public static void setRpcTimeout(Long timeOutInMillis)
public static void setRpcTimeout(long timeOutInMillis)
{
conf.request_timeout_in_ms = timeOutInMillis;
}
@ -1375,7 +1374,7 @@ public class DatabaseDescriptor
return conf.read_request_timeout_in_ms;
}
public static void setReadRpcTimeout(Long timeOutInMillis)
public static void setReadRpcTimeout(long timeOutInMillis)
{
conf.read_request_timeout_in_ms = timeOutInMillis;
}
@ -1385,7 +1384,7 @@ public class DatabaseDescriptor
return conf.range_request_timeout_in_ms;
}
public static void setRangeRpcTimeout(Long timeOutInMillis)
public static void setRangeRpcTimeout(long timeOutInMillis)
{
conf.range_request_timeout_in_ms = timeOutInMillis;
}
@ -1395,7 +1394,7 @@ public class DatabaseDescriptor
return conf.write_request_timeout_in_ms;
}
public static void setWriteRpcTimeout(Long timeOutInMillis)
public static void setWriteRpcTimeout(long timeOutInMillis)
{
conf.write_request_timeout_in_ms = timeOutInMillis;
}
@ -1405,7 +1404,7 @@ public class DatabaseDescriptor
return conf.counter_write_request_timeout_in_ms;
}
public static void setCounterWriteRpcTimeout(Long timeOutInMillis)
public static void setCounterWriteRpcTimeout(long timeOutInMillis)
{
conf.counter_write_request_timeout_in_ms = timeOutInMillis;
}
@ -1415,7 +1414,7 @@ public class DatabaseDescriptor
return conf.cas_contention_timeout_in_ms;
}
public static void setCasContentionTimeout(Long timeOutInMillis)
public static void setCasContentionTimeout(long timeOutInMillis)
{
conf.cas_contention_timeout_in_ms = timeOutInMillis;
}
@ -1425,7 +1424,7 @@ public class DatabaseDescriptor
return conf.truncate_request_timeout_in_ms;
}
public static void setTruncateRpcTimeout(Long timeOutInMillis)
public static void setTruncateRpcTimeout(long timeOutInMillis)
{
conf.truncate_request_timeout_in_ms = timeOutInMillis;
}
@ -1517,7 +1516,7 @@ public class DatabaseDescriptor
public static boolean getDisableSTCSInL0()
{
return Boolean.getBoolean("cassandra.disable_stcs_in_l0");
return disableSTCSInL0;
}
public static int getStreamThroughputOutboundMegabitsPerSec()
@ -1639,7 +1638,7 @@ public class DatabaseDescriptor
return broadcastAddress;
}
public static Boolean shouldListenOnBroadcastAddress()
public static boolean shouldListenOnBroadcastAddress()
{
return conf.listen_on_broadcast_address;
}
@ -1712,12 +1711,12 @@ public class DatabaseDescriptor
return conf.rpc_recv_buff_size_in_bytes;
}
public static Integer getInternodeSendBufferSize()
public static int getInternodeSendBufferSize()
{
return conf.internode_send_buff_size_in_bytes;
}
public static Integer getInternodeRecvBufferSize()
public static int getInternodeRecvBufferSize()
{
return conf.internode_recv_buff_size_in_bytes;
}
@ -1729,7 +1728,7 @@ public class DatabaseDescriptor
public static int getNativeTransportPort()
{
return Integer.parseInt(System.getProperty("cassandra.native_transport_port", conf.native_transport_port.toString()));
return Integer.parseInt(System.getProperty(Config.PROPERTY_PREFIX + "native_transport_port", Integer.toString(conf.native_transport_port)));
}
@VisibleForTesting
@ -1749,7 +1748,7 @@ public class DatabaseDescriptor
conf.native_transport_port_ssl = port;
}
public static Integer getNativeTransportMaxThreads()
public static int getNativeTransportMaxThreads()
{
return conf.native_transport_max_threads;
}
@ -1759,7 +1758,7 @@ public class DatabaseDescriptor
return conf.native_transport_max_frame_size_in_mb * 1024 * 1024;
}
public static Long getNativeTransportMaxConcurrentConnections()
public static long getNativeTransportMaxConcurrentConnections()
{
return conf.native_transport_max_concurrent_connections;
}
@ -1769,7 +1768,7 @@ public class DatabaseDescriptor
conf.native_transport_max_concurrent_connections = nativeTransportMaxConcurrentConnections;
}
public static Long getNativeTransportMaxConcurrentConnectionsPerIp()
public static long getNativeTransportMaxConcurrentConnectionsPerIp()
{
return conf.native_transport_max_concurrent_connections_per_ip;
}
@ -1876,7 +1875,7 @@ public class DatabaseDescriptor
public static boolean isAutoBootstrap()
{
return Boolean.parseBoolean(System.getProperty("cassandra.auto_bootstrap", conf.auto_bootstrap.toString()));
return Boolean.parseBoolean(System.getProperty(Config.PROPERTY_PREFIX + "auto_bootstrap", Boolean.toString(conf.auto_bootstrap)));
}
public static void setHintedHandoffEnabled(boolean hintedHandoffEnabled)
@ -1930,7 +1929,7 @@ public class DatabaseDescriptor
{
return conf.dynamic_snitch_update_interval_in_ms;
}
public static void setDynamicUpdateInterval(Integer dynamicUpdateInterval)
public static void setDynamicUpdateInterval(int dynamicUpdateInterval)
{
conf.dynamic_snitch_update_interval_in_ms = dynamicUpdateInterval;
}
@ -1939,7 +1938,7 @@ public class DatabaseDescriptor
{
return conf.dynamic_snitch_reset_interval_in_ms;
}
public static void setDynamicResetInterval(Integer dynamicResetInterval)
public static void setDynamicResetInterval(int dynamicResetInterval)
{
conf.dynamic_snitch_reset_interval_in_ms = dynamicResetInterval;
}
@ -1949,7 +1948,7 @@ public class DatabaseDescriptor
return conf.dynamic_snitch_badness_threshold;
}
public static void setDynamicBadnessThreshold(Double dynamicBadnessThreshold)
public static void setDynamicBadnessThreshold(double dynamicBadnessThreshold)
{
conf.dynamic_snitch_badness_threshold = dynamicBadnessThreshold;
}
@ -1974,7 +1973,7 @@ public class DatabaseDescriptor
return conf.batchlog_replay_throttle_in_kb;
}
public static void setHintedHandoffThrottleInKB(Integer throttleInKB)
public static void setHintedHandoffThrottleInKB(int throttleInKB)
{
conf.hinted_handoff_throttle_in_kb = throttleInKB;
}
@ -2347,18 +2346,18 @@ public class DatabaseDescriptor
return conf.cdc_raw_directory;
}
public static Integer getCDCSpaceInMB()
public static int getCDCSpaceInMB()
{
return conf.cdc_total_space_in_mb;
}
@VisibleForTesting
public static void setCDCSpaceInMB(Integer input)
public static void setCDCSpaceInMB(int input)
{
conf.cdc_total_space_in_mb = input;
}
public static Integer getCDCDiskCheckInterval()
public static int getCDCDiskCheckInterval()
{
return conf.cdc_free_space_check_interval_ms;
}
@ -2371,7 +2370,12 @@ public class DatabaseDescriptor
public static int searchConcurrencyFactor()
{
return Integer.parseInt(System.getProperty("cassandra.search_concurrency_factor", "1"));
return searchConcurrencyFactor;
}
public static boolean isUnsafeSystem()
{
return unsafeSystem;
}
public static void setBackPressureEnabled(boolean backPressureEnabled)

View File

@ -808,7 +808,7 @@ public final class SystemKeyspace
public static void forceBlockingFlush(String cfname)
{
if (!Boolean.getBoolean("cassandra.unsafesystem"))
if (!DatabaseDescriptor.isUnsafeSystem())
FBUtilities.waitOnFuture(Keyspace.open(SchemaConstants.SYSTEM_KEYSPACE_NAME).getColumnFamilyStore(cfname).forceFlush());
}

View File

@ -38,6 +38,7 @@ import org.slf4j.LoggerFactory;
import org.apache.cassandra.concurrent.Stage;
import org.apache.cassandra.concurrent.StageManager;
import org.apache.cassandra.config.CFMetaData;
import org.apache.cassandra.config.Config;
import org.apache.cassandra.config.Schema;
import org.apache.cassandra.config.SchemaConstants;
import org.apache.cassandra.db.ColumnFamilyStore;
@ -55,9 +56,9 @@ public class CommitLogReplayer implements CommitLogReadHandler
public static long MAX_OUTSTANDING_REPLAY_BYTES = Long.getLong("cassandra.commitlog_max_outstanding_replay_bytes", 1024 * 1024 * 64);
@VisibleForTesting
public static MutationInitiator mutationInitiator = new MutationInitiator();
static final String IGNORE_REPLAY_ERRORS_PROPERTY = "cassandra.commitlog.ignorereplayerrors";
static final String IGNORE_REPLAY_ERRORS_PROPERTY = Config.PROPERTY_PREFIX + "commitlog.ignorereplayerrors";
private static final Logger logger = LoggerFactory.getLogger(CommitLogReplayer.class);
private static final int MAX_OUTSTANDING_REPLAY_COUNT = Integer.getInteger("cassandra.commitlog_max_outstanding_replay_count", 1024);
private static final int MAX_OUTSTANDING_REPLAY_COUNT = Integer.getInteger(Config.PROPERTY_PREFIX + "commitlog_max_outstanding_replay_count", 1024);
private final Set<Keyspace> keyspacesReplayed;
private final Queue<Future<Integer>> futures;

View File

@ -29,6 +29,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.cassandra.config.CFMetaData;
import org.apache.cassandra.config.Config;
import org.apache.cassandra.db.ColumnFamilyStore;
import org.apache.cassandra.db.lifecycle.LifecycleTransaction;
import org.apache.cassandra.db.rows.UnfilteredRowIterator;
@ -45,6 +46,7 @@ public class LeveledCompactionStrategy extends AbstractCompactionStrategy
{
private static final Logger logger = LoggerFactory.getLogger(LeveledCompactionStrategy.class);
private static final String SSTABLE_SIZE_OPTION = "sstable_size_in_mb";
private static final boolean tolerateSstableSize = Boolean.getBoolean(Config.PROPERTY_PREFIX + "tolerate_sstable_size");
@VisibleForTesting
final LeveledManifest manifest;
@ -56,12 +58,12 @@ public class LeveledCompactionStrategy extends AbstractCompactionStrategy
int configuredMaxSSTableSize = 160;
SizeTieredCompactionStrategyOptions localOptions = new SizeTieredCompactionStrategyOptions(options);
if (options != null)
{
if (options.containsKey(SSTABLE_SIZE_OPTION))
{
configuredMaxSSTableSize = Integer.parseInt(options.get(SSTABLE_SIZE_OPTION));
if (!Boolean.getBoolean("cassandra.tolerate_sstable_size"))
{
{
if (options.containsKey(SSTABLE_SIZE_OPTION))
{
configuredMaxSSTableSize = Integer.parseInt(options.get(SSTABLE_SIZE_OPTION));
if (!tolerateSstableSize)
{
if (configuredMaxSSTableSize >= 1000)
logger.warn("Max sstable size of {}MB is configured for {}.{}; having a unit of compaction this large is probably a bad idea",
configuredMaxSSTableSize, cfs.name, cfs.getColumnFamilyName());

View File

@ -62,7 +62,7 @@ public class IncomingTcpConnection extends FastThreadLocalThread implements Clos
this.compressed = compressed;
this.socket = socket;
this.group = group;
if (DatabaseDescriptor.getInternodeRecvBufferSize() != null)
if (DatabaseDescriptor.getInternodeRecvBufferSize() > 0)
{
try
{

View File

@ -403,7 +403,7 @@ public class OutboundTcpConnection extends FastThreadLocalThread
{
socket.setTcpNoDelay(DatabaseDescriptor.getInterDCTcpNoDelay());
}
if (DatabaseDescriptor.getInternodeSendBufferSize() != null)
if (DatabaseDescriptor.getInternodeSendBufferSize() > 0)
{
try
{

View File

@ -38,6 +38,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.cassandra.config.CFMetaData;
import org.apache.cassandra.config.DatabaseDescriptor;
import org.apache.cassandra.config.SchemaConstants;
import org.apache.cassandra.cql3.QueryProcessor;
import org.apache.cassandra.cql3.UntypedResultSet;
@ -310,7 +311,7 @@ public final class SystemDistributedKeyspace
public static void forceBlockingFlush(String table)
{
if (!Boolean.getBoolean("cassandra.unsafesystem"))
if (!DatabaseDescriptor.isUnsafeSystem())
FBUtilities.waitOnFuture(Keyspace.open(SchemaConstants.DISTRIBUTED_KEYSPACE_NAME).getColumnFamilyStore(table).forceFlush());
}

View File

@ -276,7 +276,7 @@ public final class SchemaKeyspace
static void flush()
{
if (!Boolean.getBoolean("cassandra.unsafesystem"))
if (!DatabaseDescriptor.isUnsafeSystem())
ALL.forEach(table -> FBUtilities.waitOnFuture(getSchemaCFS(table).forceFlush()));
}