voldemort.server
Class VoldemortConfig

java.lang.Object
  extended by voldemort.server.VoldemortConfig
All Implemented Interfaces:
java.io.Serializable

public class VoldemortConfig
extends java.lang.Object
implements java.io.Serializable

Configuration parameters for the voldemort server.

See Also:
Serialized Form

Field Summary
static int DEFAULT_BUFFER_SIZE
           
static java.lang.String DEFAULT_KERBEROS_PRINCIPAL
           
static java.lang.String DEFAULT_KEYTAB_PATH
           
static long REPORTING_INTERVAL_BYTES
           
static java.lang.String VOLDEMORT_CONFIG_DIR
           
static int VOLDEMORT_DEFAULT_ADMIN_PORT
           
static java.lang.String VOLDEMORT_HOME_VAR_NAME
           
 
Constructor Summary
VoldemortConfig(int nodeId, java.lang.String voldemortHome)
           
VoldemortConfig(java.util.Properties props)
           
VoldemortConfig(Props props)
           
 
Method Summary
 boolean canInterruptService()
           
 int getAdminConnectionTimeout()
           
 int getAdminCoreThreads()
           
 int getAdminMaxThreads()
           
 int getAdminSocketBufferSize()
           
 int getAdminSocketTimeout()
           
 Props getAllProps()
           
 int getBdbBtreeFanout()
           
 boolean getBdbCacheModeEvictLN()
           
 long getBdbCacheSize()
           
 long getBdbCheckpointBytes()
           
 boolean getBdbCheckpointerHighPriority()
           
 boolean getBdbCheckpointerOffForBatchWrites()
           
 long getBdbCheckpointMs()
           
 long getBdbCleanerBytesInterval()
           
 boolean getBdbCleanerLazyMigration()
           
 int getBdbCleanerLookAheadCacheSize()
           
 int getBdbCleanerMaxBatchFiles()
           
 int getBdbCleanerMinFileUtilization()
           
 int getBdbCleanerMinUtilization()
           
 int getBdbCleanerThreads()
           
 java.lang.String getBdbDataDirectory()
           
 boolean getBdbExposeSpaceUtilization()
           
 boolean getBdbFairLatches()
           
 int getBdbLockNLockTables()
           
 long getBdbLockTimeoutMs()
           
 int getBdbLogFaultReadSize()
           
 int getBdbLogIteratorReadSize()
           
 long getBdbMaxLogFileSize()
           
 boolean getBdbMinimizeScanImpact()
           
 long getBdbMinimumSharedCache()
           
 boolean getBdbPrefixKeysWithPartitionId()
           
 boolean getBdbProactiveBackgroundMigration()
           
 boolean getBdbReadUncommitted()
           
 long getBdbStatsCacheTtlMs()
           
 int getClientConnectionTimeoutMs()
           
 int getClientMaxConnectionsPerNode()
           
 int getClientMaxQueuedRequests()
           
 int getClientMaxThreads()
           
 int getClientNodeBannageMs()
          Deprecated. Use getFailureDetectorBannagePeriod() instead
 int getClientRoutingTimeoutMs()
           
 int getClientSelectors()
           
 int getClientThreadIdleMs()
           
 int getCoreThreads()
           
 java.lang.String getDataDirectory()
           
 long getFailureDetectorAsyncRecoveryInterval()
           
 long getFailureDetectorBannagePeriod()
           
 java.util.List<java.lang.String> getFailureDetectorCatastrophicErrorTypes()
           
 java.lang.String getFailureDetectorImplementation()
           
 long getFailureDetectorRequestLengthThreshold()
           
 int getFailureDetectorThreshold()
           
 int getFailureDetectorThresholdCountMinimum()
           
 long getFailureDetectorThresholdInterval()
           
 int getFetcherBufferSize()
           
 int getGossipInterval()
           
 java.lang.String getHadoopConfigPath()
           
 int getMaxParallelStoresRebalancing()
           
 int getMaxProxyPutThreads()
           
 int getMaxThreads()
           
 java.lang.String getMetadataDirectory()
           
 boolean getMultiVersionStreamingPutsEnabled()
           
 java.lang.String getMysqlDatabaseName()
           
 java.lang.String getMysqlHost()
           
 java.lang.String getMysqlPassword()
           
 int getMysqlPort()
           
 java.lang.String getMysqlUsername()
           
 int getNioAcceptorBacklog()
           
 int getNioAdminConnectorSelectors()
           
 int getNioConnectorSelectors()
           
 int getNodeId()
           
 int getNumReadOnlyVersions()
           
 int getNumRestServiceNettyBossThreads()
           
 int getNumRestServiceNettyWorkerThreads()
           
 int getNumRestServiceStorageThreads()
           
 int getNumScanPermits()
           
 java.lang.String getPusherType()
           
 java.lang.String getReadOnlyDataStorageDirectory()
           
 int getReadOnlyDeleteBackupMs()
           
 long getReadOnlyFetcherMaxBytesPerSecond()
           
 long getReadOnlyFetcherMinBytesPerSecond()
           
 long getReadOnlyFetcherReportingIntervalBytes()
           
 java.lang.String getReadOnlyKerberosUser()
           
 java.lang.String getReadOnlyKeytabPath()
           
 java.lang.String getReadOnlySearchStrategy()
           
 long getRebalancingTimeoutSec()
           
 RequestFormatType getRequestFormatType()
           
 int getRestServiceStorageThreadPoolQueueSize()
           
 int getRetentionCleanupFirstStartDayOfWeek()
           
 int getRetentionCleanupFirstStartTimeInHour()
           
 boolean getRetentionCleanupPinStartTime()
           
 int getRetentionCleanupScheduledPeriodInHour()
           
 int getSchedulerThreads()
           
 int getSlopBatchSize()
           
 long getSlopFrequencyMs()
           
 long getSlopMaxReadBytesPerSec()
           
 long getSlopMaxWriteBytesPerSec()
           
 java.lang.String getSlopStoreType()
           
 int getSlopZonesDownToTerminate()
           
 int getSocketBufferSize()
           
 boolean getSocketKeepAlive()
           
 int getSocketTimeoutMs()
           
 java.util.List<java.lang.String> getStorageConfigurations()
           
 long getStreamMaxReadBytesPerSec()
           
 long getStreamMaxWriteBytesPerSec()
           
 TimeoutConfig getTimeoutConfig()
          ClientConfig.setTimeoutConfig(TimeoutConfig)
 boolean getUseNioConnector()
           
 java.lang.String getVoldemortHome()
           
 boolean isAdminServerEnabled()
           
 boolean isBdbFlushTransactionsEnabled()
           
 boolean isBdbLevelBasedEviction()
           
 boolean isBdbOneEnvPerStore()
           
 boolean isBdbWriteTransactionsEnabled()
           
 boolean isDeleteExpiredValuesOnRead()
           
 boolean isEnableJmxClusterName()
           
 boolean isEnableRebalanceService()
           
 boolean isEnforceRetentionPolicyOnRead()
           
 boolean isGossipEnabled()
           
 boolean isHttpServerEnabled()
           
 boolean isJmxEnabled()
           
 boolean isMetadataCheckingEnabled()
           
 boolean isNetworkClassLoaderEnabled()
           
 boolean isRepairEnabled()
           
 boolean isRestServiceEnabled()
           
 boolean isServerRoutingEnabled()
           
 boolean isSlopEnabled()
           
 boolean isSlopPusherJobEnabled()
           
 boolean isSocketServerEnabled()
          Determines whether the socket server will be enabled for BIO/NIO request handling Property :"socket.enable" Default :true
 boolean isStatTrackingEnabled()
           
 boolean isUseMlock()
           
 boolean isVerboseLoggingEnabled()
           
static VoldemortConfig loadFromEnvironmentVariable()
           
static VoldemortConfig loadFromVoldemortHome(java.lang.String voldemortHome)
           
static VoldemortConfig loadFromVoldemortHome(java.lang.String voldemortHome, java.lang.String voldemortConfigDir)
           
 void setAdminConnectionTimeout(int adminConnectionTimeout)
          ( ClientConfig.setConnectionTimeout(int, java.util.concurrent.TimeUnit) to use in AdminService Property :"admin.client.connection.timeout.sec" Default :60
 void setAdminCoreThreads(int coreThreads)
          Number of threads that the admin service thread pool will attempt to keep around.
 void setAdminMaxThreads(int maxThreads)
          Maximum number of threads in the admin service thread pool.
 void setAdminServerEnabled(boolean enableAdminServer)
          Determine whether the admin service has been enabled to perform maintenance operations on the server Property : "admin.enable" Default : true
 void setAdminSocketBufferSize(int socketBufferSize)
          ClientConfig.setSocketBufferSize(int) to use for network operations during admin operations Property :"admin.streams.buffer.size" Default :10MB
 void setAdminSocketTimeout(int adminSocketTimeout)
          ClientConfig.setSocketTimeout(int, java.util.concurrent.TimeUnit) to use in AdminService Property :"admin.client.socket.timeout.sec" Default :24 * 60 * 60
 void setBdbBtreeFanout(int bdbBtreeFanout)
          The btree node fanout.
 void setBdbCacheModeEvictLN(boolean bdbCacheModeEvictLN)
          If true, BDB will not cache data in the JVM.
 void setBdbCacheSize(int bdbCacheSize)
          The size of BDB Cache to hold portions of the BTree.
 void setBdbCheckpointBytes(long bdbCheckpointBytes)
          Checkpointer is woken up and a checkpoint is written once this many bytes have been logged Property : "bdb.checkpoint.interval.bytes" Default : 200MB
 void setBdbCheckpointerHighPriority(boolean bdbCheckpointerHighPriority)
          If true, the checkpointer uses more resources in order to complete the checkpoint in a shorter time interval.
 void setBdbCheckpointerOffForBatchWrites(boolean bdbCheckpointerOffForBulkWrites)
          BDB JE Checkpointer will be turned off during batch writes.
 void setBdbCheckpointMs(long bdbCheckpointMs)
          BDB JE Checkpointer wakes up whenever this time period elapses Property : "bdb.checkpoint.interval.ms" Default : 30s or 30000 ms
 void setBdbCleanerLazyMigration(boolean bdbCleanerLazyMigration)
          If true, Cleaner offloads some work to application threads, to keep up with the write rate.
 void setBdbCleanerLookAheadCacheSize(int bdbCleanerLookAheadCacheSize)
          Buffer size used by cleaner to fetch BTree nodes during cleaning.
 void setBdbCleanerMaxBatchFiles(int bdbCleanerMaxBatchFiles)
          The maximum number of log files in the cleaner's backlog, or zero if there is no limit property: "bdb.cleaner.max.batch.files" default: 0 minimum: 0 maximum: 100000
 void setBdbCleanerMinFileUtilization(int minFileUtilization)
          A log file will be cleaned if its utilization percentage is below this value, irrespective of total utilization.
 void setBdbCleanerMinUtilization(int minUtilization)
          The cleaner will keep the total disk space utilization percentage above this value.
 void setBdbCleanerThreads(int bdbCleanerThreads)
          The number of cleaner threads property: "bdb.cleaner.threads" default: 1 minimum: 1
 void setBdbDataDirectory(java.lang.String bdbDataDirectory)
          The directory in which bdb data is stored.
 void setBdbExposeSpaceUtilization(boolean bdbExposeSpaceUtilization)
          This parameter controls whether we expose space utilization via MBean.
 void setBdbFairLatches(boolean bdbFairLatches)
          Controls whether BDB JE should use latches instead of synchronized blocks Property : "bdb.fair.latches" Default : false
 void setBdbFlushTransactions(boolean bdbSyncTransactions)
          If true then sync transactions to disk immediately.
 void setBdbLevelBasedEviction(boolean bdbLevelBasedEviction)
          Controls if BDB JE cache eviction happens based on LRU or by BTree level.
 void setBdbLockNLockTables(int bdbLockNLockTables)
          The size of the lock table used by BDB JE Property : bdb.lock.nLockTables" Default : 7
 void setBdbLockTimeoutMs(long bdbLockTimeoutMs)
          The lock timeout for all transactional and non-transactional operations.
 void setBdbLogFaultReadSize(int bdbLogFaultReadSize)
          Buffer for faulting in objects from disk Property : "bdb.log.fault.read.size" Default : 2048
 void setBdbLogIteratorReadSize(int bdbLogIteratorReadSize)
          Buffer size used by BDB JE for reading the log eg: Cleaning.
 void setBdbMaxLogFileSize(long bdbMaxLogFileSize)
          The maximum size of a single .jdb log file in bytes.
 void setBdbMinimizeScanImpact(boolean bdbMinimizeScanImpact)
          If true, attempts are made to minimize impact to BDB cache during scan jobs Property : "bdb.minimize.scan.impact" Default : true
 void setBdbMinimumSharedCache(long minimumSharedCache)
          When using partitioned caches, this parameter controls the minimum amount of memory reserved for the global pool.
 void setBdbOneEnvPerStore(boolean bdbOneEnvPerStore)
          If true, use separate BDB JE environment per store Property : "bdb.one.env.per.store" Default : false
 void setBdbPrefixKeysWithPartitionId(boolean bdbPrefixKeysWithPartitionId)
          If true, keys will be prefixed by the partition Id on disk.
 void setBdbProactiveBackgroundMigration(boolean bdbProactiveBackgroundMigration)
          Exposes BDB JE EnvironmentConfig.CLEANER_PROACTIVE_BACKGROUND_MIGRATION.
 void setBdbReadUncommitted(boolean bdbReadUncommitted)
          If true, BDB JE get() will not be blocked by put() Property : "bdb.lock.read_uncommitted" Default : true
 void setBdbStatsCacheTtlMs(long statsCacheTtlMs)
          Interval to reuse environment stats fetched from BDB.
 void setBdbWriteTransactions(boolean bdbWriteTransactions)
          Controls persistence mode for BDB JE Transaction.
 void setCleanerBytesInterval(long bdbCleanerBytesInterval)
          Amount of bytes written before the Cleaner wakes up to check for utilization property: "bdb.cleaner.interval.bytes" default: 30MB
 void setClientConnectionTimeoutMs(int connectionTimeoutMs)
          ClientConfig.setConnectionTimeout(int, java.util.concurrent.TimeUnit) Property :"client.connection.timeout.ms" Default :500
 void setClientMaxConnectionsPerNode(int maxConnectionsPerNode)
          ClientConfig.setMaxConnectionsPerNode(int) Property :"client.max.connections.per.node" Default :50
 void setClientMaxQueuedRequests(int clientMaxQueuedRequests)
          ClientConfig.setMaxQueuedRequests(int) Property : Default :
 void setClientMaxThreads(int clientMaxThreads)
          ClientConfig.setMaxThreads(int) Property :"client.max.threads" Default :500
 void setClientNodeBannageMs(int nodeBannageMs)
          Deprecated. Use setFailureDetectorBannagePeriod(long) instead
 void setClientRoutingTimeoutMs(int routingTimeoutMs)
          ClientConfig.setRoutingTimeout(int, java.util.concurrent.TimeUnit) Property :"client.routing.timeout.ms" Default :15000
 void setClientSelectors(int clientSelectors)
          ClientConfig.setSelectors(int) Property :"client.selectors" Default :4
 void setClientThreadIdleMs(int clientThreadIdleMs)
          ClientConfig.setThreadIdleTime(long, java.util.concurrent.TimeUnit) Property :"client.thread.idle.ms" Default :100000
 void setCoreThreads(int coreThreads)
          Deprecated. 
 void setDataDirectory(java.lang.String dataDirectory)
          The directory name given by "data.directory" default: voldemort.home/data Property : "data.directory" Default : VOLDEMORT_HOME/data
 void setDeleteExpiredValuesOnRead(boolean deleteExpiredValuesOnRead)
          If enabled, in addition to filtering stale entries, the server will also delete the stale value Property :"delete.expired.values.on.read" Default :false
 void setEnableGossip(boolean enableGossip)
          Enabled gossip between servers, in server side routing..
 void setEnableHttpServer(boolean enableHttpServer)
          Whether or not the HttpService is enabled Property :"http.enable" Default :true
 void setEnableJmx(boolean enableJmx)
          Is JMX monitoring enabled on the server? Property :"jmx.enable" Default : true
 void setEnableJmxClusterName(boolean enableJmxClusterName)
          If enabled, the cluster name will be used as a part of the Mbeans created.
 void setEnableMetadataChecking(boolean enableMetadataChecking)
          If enabled, InvalidMetadataCheckingStore will reject traffic that does not belong to this server with a InvalidMetadataException Property :"enable.metadata.checking" Default :true
 void setEnableNetworkClassLoader(boolean enableNetworkClassLoader)
          Loads a class to be used as a VAdminProto.VoldemortFilter.
 void setEnableRebalanceService(boolean enableRebalanceService)
          If enabled, Rebalancing is enabled on the server Property :"enable.rebalancing" Default : true
 void setEnableRepair(boolean enableRepair)
          Whether RepairJob will be enabled Property :"enable.repair" Default :true
 void setEnableRestService(boolean enableRestService)
          Whether or not the RestService is enabled Property :"rest.enable" Default :false
 void setEnableServerRouting(boolean enableServerRouting)
          If enabled, Routing may happen in the server,depending on store definition.
 void setEnableSlop(boolean enableSlop)
          Whether or not slop store should be created on the server.
 void setEnableSlopPusherJob(boolean enableSlopPusherJob)
          Whether or not StreamingSlopPusherJob or BlockingSlopPusherJob should be enabled to asynchronous push slops to failed servers Property :"slop.pusher.enable" Default :true
 void setEnableStatTracking(boolean enableStatTracking)
          If enabled, StatTrackingStore will be enabled to account performance statistics Property :"enable.stat.tracking" Default :true
 void setEnableVerboseLogging(boolean enableVerboseLogging)
          if enabled, LoggingStore will be enable to ouput more detailed trace debugging if needed Property :"enable.verbose.logging" Default :true
 void setEnforceRetentionPolicyOnRead(boolean enforceRetentionPolicyOnRead)
          If enabled, the server will perform an expiry check for get and getall and will not return stale entries Property :"enforce.retention.policy.on.read" Default :false
 void setFailureDetectorAsyncRecoveryInterval(long failureDetectorAsyncRecoveryInterval)
          ClientConfig.setFailureDetectorAsyncRecoveryInterval(long) Property :"failuredetector.asyncrecovery.interval" Default :FailureDetectorConfig.DEFAULT_ASYNC_RECOVERY_INTERVAL
 void setFailureDetectorBannagePeriod(long failureDetectorBannagePeriod)
          ClientConfig.setFailureDetectorBannagePeriod(long) Property :"failuredetector.bannage.period" Default :FailureDetectorConfig.DEFAULT_BANNAGE_PERIOD
 void setFailureDetectorCatastrophicErrorTypes(java.util.List<java.lang.String> failureDetectorCatastrophicErrorTypes)
          ClientConfig.setFailureDetectorCatastrophicErrorTypes(List) Property :"failuredetector.catastrophic.error.types" Default :FailureDetectorConfig.DEFAULT_CATASTROPHIC_ERROR_TYPES
 void setFailureDetectorImplementation(java.lang.String failureDetectorImplementation)
          ClientConfig.setFailureDetectorImplementation(String) Property :"failuredetector.implementation" Default :FailureDetectorConfig.DEFAULT_IMPLEMENTATION_CLASS_NAME
 void setFailureDetectorRequestLengthThreshold(long failureDetectorRequestLengthThreshold)
          ClientConfig.setFailureDetectorRequestLengthThreshold(long) Property :"failuredetector.request.length.threshold" Default :same as socket timeout
 void setFailureDetectorThreshold(int failureDetectorThreshold)
          ClientConfig.setFailureDetectorThreshold(int) Property :"failuredetector.threshold" Default :FailureDetectorConfig.DEFAULT_THRESHOLD
 void setFailureDetectorThresholdCountMinimum(int failureDetectorThresholdCountMinimum)
          ClientConfig.setFailureDetectorThresholdCountMinimum(int) Property :"failuredetector.threshold.countminimum" Default :FailureDetectorConfig.DEFAULT_THRESHOLD_COUNT_MINIMUM
 void setFailureDetectorThresholdInterval(long failureDetectorThresholdInterval)
          ClientConfig.setFailureDetectorThresholdInterval(long) Property :"failuredetector.threshold.interval" Default :FailureDetectorConfig.DEFAULT_THRESHOLD_INTERVAL
 void setFetcherBufferSize(int fetcherBufferSize)
          Size of buffer to be used for HdfsFetcher.
 void setGossipInterval(int gossipIntervalMs)
          When Gossip is enabled, time interval to exchange gossip messages between servers Property :"gossip.interval.ms" Default :30000
 void setHadoopConfigPath(java.lang.String hadoopConfigPath)
          Path to the hadoop config Property :"readonly.hadoop.config.path" Default : METADATA_DIR/hadoop-conf
 void setInterruptible(boolean canInterrupt)
          Determines whether the scheduler can be allowed to interrupt a AsyncOperation, when terminating the job Property :"service.interruptible" Default :true
 void setMaxParallelStoresRebalancing(int maxParallelStoresRebalancing)
          The maximum number of stores that can be rebalancing at the same time.
 void setMaxProxyPutThreads(int maxProxyPutThreads)
          Total number of threads needed to issue proxy puts during rebalancing Property :"max.proxy.put.threads" Default : 1
 void setMaxThreads(int maxThreads)
          Deprecated. 
 void setMetadataDirectory(java.lang.String metadataDirectory)
          The directory name given by "metadata.directory" default: voldemort.home/config Property : "metadata.directory" Default : VOLDEMORT_HOME/config
 void setMultiVersionStreamingPutsEnabled(boolean multiVersionStreamingPutsEnabled)
          If true, multiple successive versions of the same key, will be atomically written to storage in a single operation.
 void setMysqlDatabaseName(java.lang.String mysqlDatabaseName)
          MySQL database name to use Property : Default :
 void setMysqlHost(java.lang.String mysqlHost)
          Hostname of the database server for MySQL storage engine Property :"mysql.host" Default :"localhost"
 void setMysqlPassword(java.lang.String mysqlPassword)
          Password to use with MySQL storage engine Property :"mysql.password" Default :""
 void setMysqlPort(int mysqlPort)
          Port number for the MySQL database server Property :"mysql.port" Default :3306
 void setMysqlUsername(java.lang.String mysqlUsername)
          user name to use with MySQL storage engine Property : "mysql.user" Default : "root"
 void setNioAcceptorBacklog(int nioAcceptorBacklog)
          Determines the size of the NioSocketService's accept backlog queue.
 void setNioAdminConnectorSelectors(int nioAdminConnectorSelectors)
          Number of admin NIO server threads to spin up.
 void setNioConnectorSelectors(int nioConnectorSelectors)
          Number of NIO server threads to use to process client requests Property : nio.connector.selectors Default : max(8, number of available processors)
 void setNodeId(int nodeId)
          Id of the server within the cluster.
 void setNumReadOnlyVersions(int readOnlyBackups)
          Number of previous versions to keep around for ReadOnlyStorageEngine Property :"readonly.backups" Default :1
 void setNumRestServiceNettyBossThreads(int numRestServiceNettyBossThreads)
          The number of threads in the REST server Netty Boss thread pool.
 void setNumRestServiceNettyWorkerThreads(int numRestServiceNettyWorkerThreads)
          The number of threads in the REST server Netty worker thread pool.
 void setNumRestServiceStorageThreads(int numRestServiceStorageThreads)
          The number of threads in the REST server storage thread pool.
 void setNumScanPermits(int numScanPermits)
          Maximum number of background tasks to run parallely with the online traffic.
 void setPusherType(java.lang.String pusherType)
          The type of streaming job we would want to use to send hints.
 void setReadOnlyDataStorageDirectory(java.lang.String readOnlyStorageDir)
          Directory to store the read-only data and index files in Property :"readonly.data.directory" Default : DATA_DIR/read-only
 void setReadOnlyDeleteBackupMs(int readOnlyDeleteBackupTimeMs)
          Amount of time we will wait before we start deleting the backup.
 void setReadOnlyFetcherMaxBytesPerSecond(long maxBytesPerSecond)
          Global throttle limit for all hadoop fetches.
 void setReadOnlyFetcherMinBytesPerSecond(long minBytesPerSecond)
          Minimum amount of bandwidth that is guaranteed for any read only hadoop fetch..
 void setReadOnlyFetcherReportingIntervalBytes(long reportingIntervalBytes)
          Interval to report statistics for HDFS fetches Property :"fetcher.reporting.interval.bytes" Default :25MB
 void setReadOnlyKerberosUser(java.lang.String readOnlyKerberosUser)
          Principal used in kerberized Hadoop grids Property :"readonly.kerberos.user" Default :"voldemrt"
 void setReadOnlyKeytabPath(java.lang.String readOnlyKeytabPath)
          Path to keytab for principal used for kerberized Hadoop grids Property :"readonly.keytab.path" Default :METADATA_DIR/voldemrt.headless.keytab
 void setReadOnlySearchStrategy(java.lang.String readOnlySearchStrategy)
          Strategy to be used to search the read-only index for a given key.
 void setRebalancingTimeoutSec(long rebalancingTimeoutSec)
          The maximum amount of time the server will wait for the remote rebalancing tasks to finish.
 void setRequestFormatType(RequestFormatType type)
          ClientConfig.setRequestFormatType(RequestFormatType) Property :"request.format" Default :"vp1"
 void setRestServiceStorageThreadPoolQueueSize(int restServiceStorageThreadPoolQueueSize)
          The capacity of the REST server storage thread pool queue.
 void setRetentionCleanupFirstStartDayOfWeek(int retentionCleanupFirstStartDayOfWeek)
          First day of the week to run DataCleanupJob, after server starts up.
 void setRetentionCleanupFirstStartTimeInHour(int retentionCleanupFirstStartTimeInHour)
          The first hour in the day, when the DataCleanupJob will start Property :"retention.cleanup.first.start.hour" Default :0
 void setRetentionCleanupPinStartTime(boolean retentionCleanupFixStartTime)
          if enabled, DataCleanupJob will be pinned to the same time each run interval.
 void setRetentionCleanupScheduledPeriodInHour(int retentionCleanupScheduledPeriodInHour)
          Frequency to run DataCleanupJob Property : Default :
 void setSchedulerThreads(int schedulerThreads)
          Number of SchedulerService threads to create that run all the background async jobs Property :"client.max.queued.requests" Default :1000
 void setSlopBatchSize(int slopBatchSize)
          Returns the size of the batch used while streaming slops Property :"slop.batch.size" Default :100
 void setSlopFrequencyMs(long slopFrequencyMs)
          Frequency at which the slop pusher attempts to push slops Property :"slop.frequency.ms" Default :300 seconds
 void setSlopMaxReadBytesPerSec(long slopMaxReadBytesPerSec)
          Controls the rate at which the StreamingSlopPusherJob reads the 'slop' store and drains it off to another server Property :"slop.read.byte.per.sec" Default :10MB
 void setSlopMaxWriteBytesPerSec(long slopMaxWriteBytesPerSec)
          Controls the rate at which the StreamingSlopPusherJob will send slop writes over the wire Property :"slop.write.byte.per.sec" Default :10MB
 void setSlopStoreType(java.lang.String slopStoreType)
          The underlying store type which will be used to store slops.
 void setSlopZonesDownToTerminate(int slopZonesDownToTerminate)
          Number of zones declared down before we terminate the pusher job Property :"slop.zones.terminate" Default :0
 void setSocketBufferSize(int socketBufferSize)
          ClientConfig.setSocketBufferSize(int) Property :"socket.buffer.size" Default :64kb
 void setSocketKeepAlive(boolean on)
          ClientConfig.setSocketKeepAlive(boolean) Property :"socket.keepalive" Default :false
 void setSocketTimeoutMs(int socketTimeoutMs)
          ClientConfig.setSocketTimeout(int, java.util.concurrent.TimeUnit) Property :"socket.timeout.ms" Default :5000
 void setStorageConfigurations(java.util.List<java.lang.String> storageConfigurations)
          List of fully qualified class names of StorageEngine types to enable on the server Property :"storage.configs" Default : BdbStorageConfiguration MysqlStorageConfiguration InMemoryStorageConfiguration CacheStorageConfiguration ReadOnlyStorageConfiguration
 void setStreamMaxReadBytesPerSec(long streamMaxReadBytesPerSec)
          Maximum amount of data read out of the server by streaming operations Property : "stream.read.byte.per.sec" Default : 10MB
 void setStreamMaxWriteBytesPerSec(long streamMaxWriteBytesPerSec)
          Maximum amount of data to be written into the server by streaming operations Property : "stream.write.byte.per.sec" Default : 10MB
 void setUseMlock(boolean useMlock)
          If true, the server will mlock read-only index files and pin them to memory.
 void setUseNioConnector(boolean useNio)
          Determines whether the server will use NIO style selectors while handling requests.
 void setUsePartitionScanForRebalance(boolean usePartitionScanForRebalance)
          Enables fast, efficient range scans to be used for rebalancing Note: Only valid if the storage engine supports partition scans StorageEngine.isPartitionScanSupported() Property :"use.partition.scan.for.rebalance" Default :true
 void setVoldemortHome(java.lang.String voldemortHome)
           Property : "voldemort.home" Default : VOLDEMORT_HOME environment variable
 OpTimeMap testingGetSlowConcurrentDelays()
           
 OpTimeMap testingGetSlowQueueingDelays()
           
 boolean usePartitionScanForRebalance()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

VOLDEMORT_HOME_VAR_NAME

public static final java.lang.String VOLDEMORT_HOME_VAR_NAME
See Also:
Constant Field Values

VOLDEMORT_CONFIG_DIR

public static final java.lang.String VOLDEMORT_CONFIG_DIR
See Also:
Constant Field Values

VOLDEMORT_DEFAULT_ADMIN_PORT

public static int VOLDEMORT_DEFAULT_ADMIN_PORT

REPORTING_INTERVAL_BYTES

public static final long REPORTING_INTERVAL_BYTES
See Also:
Constant Field Values

DEFAULT_BUFFER_SIZE

public static final int DEFAULT_BUFFER_SIZE
See Also:
Constant Field Values

DEFAULT_KERBEROS_PRINCIPAL

public static java.lang.String DEFAULT_KERBEROS_PRINCIPAL

DEFAULT_KEYTAB_PATH

public static java.lang.String DEFAULT_KEYTAB_PATH
Constructor Detail

VoldemortConfig

public VoldemortConfig(java.util.Properties props)

VoldemortConfig

public VoldemortConfig(Props props)

VoldemortConfig

public VoldemortConfig(int nodeId,
                       java.lang.String voldemortHome)
Method Detail

loadFromEnvironmentVariable

public static VoldemortConfig loadFromEnvironmentVariable()

loadFromVoldemortHome

public static VoldemortConfig loadFromVoldemortHome(java.lang.String voldemortHome)

loadFromVoldemortHome

public static VoldemortConfig loadFromVoldemortHome(java.lang.String voldemortHome,
                                                    java.lang.String voldemortConfigDir)

getNodeId

public int getNodeId()

setNodeId

public void setNodeId(int nodeId)
Id of the server within the cluster. The server matches up this id with the information in cluster.xml to determine what partitions belong to it


getVoldemortHome

public java.lang.String getVoldemortHome()

setVoldemortHome

public void setVoldemortHome(java.lang.String voldemortHome)


getDataDirectory

public java.lang.String getDataDirectory()

setDataDirectory

public void setDataDirectory(java.lang.String dataDirectory)
The directory name given by "data.directory" default: voldemort.home/data


getMetadataDirectory

public java.lang.String getMetadataDirectory()

setMetadataDirectory

public void setMetadataDirectory(java.lang.String metadataDirectory)
The directory name given by "metadata.directory" default: voldemort.home/config


getBdbCacheSize

public long getBdbCacheSize()

setBdbCacheSize

public void setBdbCacheSize(int bdbCacheSize)
The size of BDB Cache to hold portions of the BTree.


getBdbExposeSpaceUtilization

public boolean getBdbExposeSpaceUtilization()

setBdbExposeSpaceUtilization

public void setBdbExposeSpaceUtilization(boolean bdbExposeSpaceUtilization)
This parameter controls whether we expose space utilization via MBean. If set to false, stat will always return 0;


isBdbFlushTransactionsEnabled

public boolean isBdbFlushTransactionsEnabled()

setBdbFlushTransactions

public void setBdbFlushTransactions(boolean bdbSyncTransactions)
If true then sync transactions to disk immediately.


getBdbDataDirectory

public java.lang.String getBdbDataDirectory()

setBdbDataDirectory

public void setBdbDataDirectory(java.lang.String bdbDataDirectory)
The directory in which bdb data is stored.


getBdbMaxLogFileSize

public long getBdbMaxLogFileSize()

setBdbMaxLogFileSize

public void setBdbMaxLogFileSize(long bdbMaxLogFileSize)
The maximum size of a single .jdb log file in bytes.


getBdbCleanerMinFileUtilization

public int getBdbCleanerMinFileUtilization()

setBdbCleanerMinFileUtilization

public final void setBdbCleanerMinFileUtilization(int minFileUtilization)
A log file will be cleaned if its utilization percentage is below this value, irrespective of total utilization. In practice, setting this to a value greater than 0, might potentially hurt if the workload generates a cleaning pattern with a heavy skew of utilization distribution amongs the jdb files


getBdbCheckpointerHighPriority

public boolean getBdbCheckpointerHighPriority()

setBdbCheckpointerHighPriority

public final void setBdbCheckpointerHighPriority(boolean bdbCheckpointerHighPriority)
If true, the checkpointer uses more resources in order to complete the checkpoint in a shorter time interval.


getBdbCleanerMaxBatchFiles

public int getBdbCleanerMaxBatchFiles()

setBdbCleanerMaxBatchFiles

public final void setBdbCleanerMaxBatchFiles(int bdbCleanerMaxBatchFiles)
The maximum number of log files in the cleaner's backlog, or zero if there is no limit


getBdbCleanerThreads

public int getBdbCleanerThreads()

setBdbCleanerThreads

public final void setBdbCleanerThreads(int bdbCleanerThreads)
The number of cleaner threads


getBdbCleanerBytesInterval

public long getBdbCleanerBytesInterval()

setCleanerBytesInterval

public final void setCleanerBytesInterval(long bdbCleanerBytesInterval)
Amount of bytes written before the Cleaner wakes up to check for utilization


getBdbCleanerLookAheadCacheSize

public int getBdbCleanerLookAheadCacheSize()

setBdbCleanerLookAheadCacheSize

public final void setBdbCleanerLookAheadCacheSize(int bdbCleanerLookAheadCacheSize)
Buffer size used by cleaner to fetch BTree nodes during cleaning.


getBdbLockTimeoutMs

public long getBdbLockTimeoutMs()

setBdbLockTimeoutMs

public final void setBdbLockTimeoutMs(long bdbLockTimeoutMs)
The lock timeout for all transactional and non-transactional operations. Value of zero disables lock timeouts i.e. a deadlock scenario will block forever. High locktimeout combined with a highly concurrent workload, might have adverse impact on latency for all stores


getBdbLockNLockTables

public int getBdbLockNLockTables()

setBdbLockNLockTables

public void setBdbLockNLockTables(int bdbLockNLockTables)
The size of the lock table used by BDB JE


getBdbLogFaultReadSize

public int getBdbLogFaultReadSize()

setBdbLogFaultReadSize

public void setBdbLogFaultReadSize(int bdbLogFaultReadSize)
Buffer for faulting in objects from disk


getBdbLogIteratorReadSize

public int getBdbLogIteratorReadSize()

setBdbLogIteratorReadSize

public void setBdbLogIteratorReadSize(int bdbLogIteratorReadSize)
Buffer size used by BDB JE for reading the log eg: Cleaning.


getBdbFairLatches

public boolean getBdbFairLatches()

setBdbFairLatches

public void setBdbFairLatches(boolean bdbFairLatches)
Controls whether BDB JE should use latches instead of synchronized blocks


getBdbReadUncommitted

public boolean getBdbReadUncommitted()

setBdbReadUncommitted

public void setBdbReadUncommitted(boolean bdbReadUncommitted)
If true, BDB JE get() will not be blocked by put()


getBdbCleanerMinUtilization

public int getBdbCleanerMinUtilization()

setBdbCleanerMinUtilization

public final void setBdbCleanerMinUtilization(int minUtilization)
The cleaner will keep the total disk space utilization percentage above this value.


getBdbBtreeFanout

public int getBdbBtreeFanout()

setBdbBtreeFanout

public void setBdbBtreeFanout(int bdbBtreeFanout)
The btree node fanout. Given by "". default: 512


getBdbCleanerLazyMigration

public boolean getBdbCleanerLazyMigration()

setBdbCleanerLazyMigration

public final void setBdbCleanerLazyMigration(boolean bdbCleanerLazyMigration)
If true, Cleaner offloads some work to application threads, to keep up with the write rate. Side effect is that data is staged on the JVM till it is flushed down by Checkpointer, hence not GC friendly (Will cause promotions). Use if you have lots of spare RAM but running low on threads/IOPS


getBdbCacheModeEvictLN

public boolean getBdbCacheModeEvictLN()

setBdbCacheModeEvictLN

public void setBdbCacheModeEvictLN(boolean bdbCacheModeEvictLN)
If true, BDB will not cache data in the JVM. This is very Java GC friendly, and brings a lot of predictability in performance, by greatly reducing constant CMS activity


getBdbMinimizeScanImpact

public boolean getBdbMinimizeScanImpact()

setBdbMinimizeScanImpact

public void setBdbMinimizeScanImpact(boolean bdbMinimizeScanImpact)
If true, attempts are made to minimize impact to BDB cache during scan jobs


isBdbWriteTransactionsEnabled

public boolean isBdbWriteTransactionsEnabled()

setBdbWriteTransactions

public void setBdbWriteTransactions(boolean bdbWriteTransactions)
Controls persistence mode for BDB JE Transaction. By default, we rely on the checkpointer to flush the writes


setBdbOneEnvPerStore

public void setBdbOneEnvPerStore(boolean bdbOneEnvPerStore)
If true, use separate BDB JE environment per store


isBdbOneEnvPerStore

public boolean isBdbOneEnvPerStore()

getBdbPrefixKeysWithPartitionId

public boolean getBdbPrefixKeysWithPartitionId()

setBdbPrefixKeysWithPartitionId

public void setBdbPrefixKeysWithPartitionId(boolean bdbPrefixKeysWithPartitionId)
If true, keys will be prefixed by the partition Id on disk. This can dramatically speed up rebalancing, restore operations, at the cost of 2 bytes of extra storage per key


getBdbCheckpointBytes

public long getBdbCheckpointBytes()

setBdbCheckpointBytes

public void setBdbCheckpointBytes(long bdbCheckpointBytes)
Checkpointer is woken up and a checkpoint is written once this many bytes have been logged


getBdbCheckpointerOffForBatchWrites

public boolean getBdbCheckpointerOffForBatchWrites()

setBdbCheckpointerOffForBatchWrites

public void setBdbCheckpointerOffForBatchWrites(boolean bdbCheckpointerOffForBulkWrites)
BDB JE Checkpointer will be turned off during batch writes. This helps save redundant writing of index updates, as we do say large streaming updates


getBdbCheckpointMs

public long getBdbCheckpointMs()

setBdbCheckpointMs

public void setBdbCheckpointMs(long bdbCheckpointMs)
BDB JE Checkpointer wakes up whenever this time period elapses


getBdbStatsCacheTtlMs

public long getBdbStatsCacheTtlMs()

setBdbStatsCacheTtlMs

public void setBdbStatsCacheTtlMs(long statsCacheTtlMs)
Interval to reuse environment stats fetched from BDB. Once the interval expires, a fresh call will be made


getBdbMinimumSharedCache

public long getBdbMinimumSharedCache()

setBdbMinimumSharedCache

public void setBdbMinimumSharedCache(long minimumSharedCache)
When using partitioned caches, this parameter controls the minimum amount of memory reserved for the global pool. Any memory-footprint reservation that will break this guarantee will fail.


isBdbLevelBasedEviction

public boolean isBdbLevelBasedEviction()

setBdbLevelBasedEviction

public void setBdbLevelBasedEviction(boolean bdbLevelBasedEviction)
Controls if BDB JE cache eviction happens based on LRU or by BTree level.


getBdbProactiveBackgroundMigration

public boolean getBdbProactiveBackgroundMigration()

setBdbProactiveBackgroundMigration

public void setBdbProactiveBackgroundMigration(boolean bdbProactiveBackgroundMigration)
Exposes BDB JE EnvironmentConfig.CLEANER_PROACTIVE_BACKGROUND_MIGRATION.


getCoreThreads

public int getCoreThreads()

setCoreThreads

@Deprecated
public void setCoreThreads(int coreThreads)
Deprecated. 

The comfortable number of threads the threadpool will attempt to maintain. Not applicable with enable.nio=true and not officially supported anymore


getMaxThreads

public int getMaxThreads()

setMaxThreads

@Deprecated
public void setMaxThreads(int maxThreads)
Deprecated. 

The maximum number of threads in the server thread pool. Not applicable with enable.nio.connector=true. Not officially supported anymore


getAdminCoreThreads

public int getAdminCoreThreads()

setAdminCoreThreads

public void setAdminCoreThreads(int coreThreads)
Number of threads that the admin service thread pool will attempt to keep around. Not applicable with enable.nio.connector=true


getAdminMaxThreads

public int getAdminMaxThreads()

setAdminMaxThreads

public void setAdminMaxThreads(int maxThreads)
Maximum number of threads in the admin service thread pool. Not applicable with enable.nio=true


getUseNioConnector

public boolean getUseNioConnector()

setUseNioConnector

public void setUseNioConnector(boolean useNio)
Determines whether the server will use NIO style selectors while handling requests. This is recommended over using old style BIO.


getNioConnectorSelectors

public int getNioConnectorSelectors()

setNioConnectorSelectors

public void setNioConnectorSelectors(int nioConnectorSelectors)
Number of NIO server threads to use to process client requests


getNioAdminConnectorSelectors

public int getNioAdminConnectorSelectors()

setNioAdminConnectorSelectors

public void setNioAdminConnectorSelectors(int nioAdminConnectorSelectors)
Number of admin NIO server threads to spin up.


isHttpServerEnabled

public boolean isHttpServerEnabled()

setEnableHttpServer

public void setEnableHttpServer(boolean enableHttpServer)
Whether or not the HttpService is enabled


isSocketServerEnabled

public boolean isSocketServerEnabled()
Determines whether the socket server will be enabled for BIO/NIO request handling


isAdminServerEnabled

public boolean isAdminServerEnabled()

setAdminServerEnabled

public void setAdminServerEnabled(boolean enableAdminServer)
Determine whether the admin service has been enabled to perform maintenance operations on the server


getStreamMaxReadBytesPerSec

public long getStreamMaxReadBytesPerSec()

setStreamMaxReadBytesPerSec

public void setStreamMaxReadBytesPerSec(long streamMaxReadBytesPerSec)
Maximum amount of data read out of the server by streaming operations


getStreamMaxWriteBytesPerSec

public long getStreamMaxWriteBytesPerSec()

setStreamMaxWriteBytesPerSec

public void setStreamMaxWriteBytesPerSec(long streamMaxWriteBytesPerSec)
Maximum amount of data to be written into the server by streaming operations


getSlopMaxWriteBytesPerSec

public long getSlopMaxWriteBytesPerSec()

setMultiVersionStreamingPutsEnabled

public void setMultiVersionStreamingPutsEnabled(boolean multiVersionStreamingPutsEnabled)
If true, multiple successive versions of the same key, will be atomically written to storage in a single operation. Currently not supported for MySqlStorageEngine


getMultiVersionStreamingPutsEnabled

public boolean getMultiVersionStreamingPutsEnabled()

setSlopMaxWriteBytesPerSec

public void setSlopMaxWriteBytesPerSec(long slopMaxWriteBytesPerSec)
Controls the rate at which the StreamingSlopPusherJob will send slop writes over the wire


getSlopMaxReadBytesPerSec

public long getSlopMaxReadBytesPerSec()

setSlopMaxReadBytesPerSec

public void setSlopMaxReadBytesPerSec(long slopMaxReadBytesPerSec)
Controls the rate at which the StreamingSlopPusherJob reads the 'slop' store and drains it off to another server


isJmxEnabled

public boolean isJmxEnabled()

setEnableJmx

public void setEnableJmx(boolean enableJmx)
Is JMX monitoring enabled on the server?


getMysqlUsername

public java.lang.String getMysqlUsername()

setMysqlUsername

public void setMysqlUsername(java.lang.String mysqlUsername)
user name to use with MySQL storage engine


getMysqlPassword

public java.lang.String getMysqlPassword()

setMysqlPassword

public void setMysqlPassword(java.lang.String mysqlPassword)
Password to use with MySQL storage engine


getMysqlDatabaseName

public java.lang.String getMysqlDatabaseName()

setMysqlDatabaseName

public void setMysqlDatabaseName(java.lang.String mysqlDatabaseName)
MySQL database name to use


getMysqlHost

public java.lang.String getMysqlHost()

setMysqlHost

public void setMysqlHost(java.lang.String mysqlHost)
Hostname of the database server for MySQL storage engine


getMysqlPort

public int getMysqlPort()

setMysqlPort

public void setMysqlPort(int mysqlPort)
Port number for the MySQL database server


getSlopStoreType

public java.lang.String getSlopStoreType()

setSlopStoreType

public void setSlopStoreType(java.lang.String slopStoreType)
The underlying store type which will be used to store slops. Defaults to Bdb torageConfiguration.class.getName())


getPusherType

public java.lang.String getPusherType()

setPusherType

public void setPusherType(java.lang.String pusherType)
The type of streaming job we would want to use to send hints. Defaults to


getSlopZonesDownToTerminate

public int getSlopZonesDownToTerminate()

setSlopZonesDownToTerminate

public void setSlopZonesDownToTerminate(int slopZonesDownToTerminate)
Number of zones declared down before we terminate the pusher job


getSlopBatchSize

public int getSlopBatchSize()

setSlopBatchSize

public void setSlopBatchSize(int slopBatchSize)
Returns the size of the batch used while streaming slops


getSocketTimeoutMs

public int getSocketTimeoutMs()

getSlopFrequencyMs

public long getSlopFrequencyMs()

setSlopFrequencyMs

public void setSlopFrequencyMs(long slopFrequencyMs)
Frequency at which the slop pusher attempts to push slops


setSocketTimeoutMs

public void setSocketTimeoutMs(int socketTimeoutMs)
ClientConfig.setSocketTimeout(int, java.util.concurrent.TimeUnit)


getClientSelectors

public int getClientSelectors()

setClientSelectors

public void setClientSelectors(int clientSelectors)
ClientConfig.setSelectors(int)


getClientRoutingTimeoutMs

public int getClientRoutingTimeoutMs()

setClientRoutingTimeoutMs

public void setClientRoutingTimeoutMs(int routingTimeoutMs)
ClientConfig.setRoutingTimeout(int, java.util.concurrent.TimeUnit)


getTimeoutConfig

public TimeoutConfig getTimeoutConfig()
ClientConfig.setTimeoutConfig(TimeoutConfig)


getClientMaxConnectionsPerNode

public int getClientMaxConnectionsPerNode()

setClientMaxConnectionsPerNode

public void setClientMaxConnectionsPerNode(int maxConnectionsPerNode)
ClientConfig.setMaxConnectionsPerNode(int)


getClientConnectionTimeoutMs

public int getClientConnectionTimeoutMs()

setClientConnectionTimeoutMs

public void setClientConnectionTimeoutMs(int connectionTimeoutMs)
ClientConfig.setConnectionTimeout(int, java.util.concurrent.TimeUnit)


getClientNodeBannageMs

@Deprecated
public int getClientNodeBannageMs()
Deprecated. Use getFailureDetectorBannagePeriod() instead


setClientNodeBannageMs

@Deprecated
public void setClientNodeBannageMs(int nodeBannageMs)
Deprecated. Use setFailureDetectorBannagePeriod(long) instead


getClientMaxThreads

public int getClientMaxThreads()

setClientMaxThreads

public void setClientMaxThreads(int clientMaxThreads)
ClientConfig.setMaxThreads(int)


getClientThreadIdleMs

public int getClientThreadIdleMs()

setClientThreadIdleMs

public void setClientThreadIdleMs(int clientThreadIdleMs)
ClientConfig.setThreadIdleTime(long, java.util.concurrent.TimeUnit)


getClientMaxQueuedRequests

public int getClientMaxQueuedRequests()

setClientMaxQueuedRequests

public void setClientMaxQueuedRequests(int clientMaxQueuedRequests)
ClientConfig.setMaxQueuedRequests(int)


isSlopEnabled

public boolean isSlopEnabled()

setEnableSlop

public void setEnableSlop(boolean enableSlop)
Whether or not slop store should be created on the server.


isSlopPusherJobEnabled

public boolean isSlopPusherJobEnabled()

setEnableSlopPusherJob

public void setEnableSlopPusherJob(boolean enableSlopPusherJob)
Whether or not StreamingSlopPusherJob or BlockingSlopPusherJob should be enabled to asynchronous push slops to failed servers


isRepairEnabled

public boolean isRepairEnabled()

setEnableRepair

public void setEnableRepair(boolean enableRepair)
Whether RepairJob will be enabled


isVerboseLoggingEnabled

public boolean isVerboseLoggingEnabled()

setEnableVerboseLogging

public void setEnableVerboseLogging(boolean enableVerboseLogging)
if enabled, LoggingStore will be enable to ouput more detailed trace debugging if needed


isStatTrackingEnabled

public boolean isStatTrackingEnabled()

setEnableStatTracking

public void setEnableStatTracking(boolean enableStatTracking)
If enabled, StatTrackingStore will be enabled to account performance statistics


isMetadataCheckingEnabled

public boolean isMetadataCheckingEnabled()

setEnableMetadataChecking

public void setEnableMetadataChecking(boolean enableMetadataChecking)
If enabled, InvalidMetadataCheckingStore will reject traffic that does not belong to this server with a InvalidMetadataException


getSchedulerThreads

public int getSchedulerThreads()

setSchedulerThreads

public void setSchedulerThreads(int schedulerThreads)
Number of SchedulerService threads to create that run all the background async jobs


canInterruptService

public boolean canInterruptService()

setInterruptible

public void setInterruptible(boolean canInterrupt)
Determines whether the scheduler can be allowed to interrupt a AsyncOperation, when terminating the job


getReadOnlyDataStorageDirectory

public java.lang.String getReadOnlyDataStorageDirectory()

setReadOnlyDataStorageDirectory

public void setReadOnlyDataStorageDirectory(java.lang.String readOnlyStorageDir)
Directory to store the read-only data and index files in


getNumReadOnlyVersions

public int getNumReadOnlyVersions()

setNumReadOnlyVersions

public void setNumReadOnlyVersions(int readOnlyBackups)
Number of previous versions to keep around for ReadOnlyStorageEngine


getReadOnlyDeleteBackupMs

public int getReadOnlyDeleteBackupMs()

setReadOnlyDeleteBackupMs

public void setReadOnlyDeleteBackupMs(int readOnlyDeleteBackupTimeMs)
Amount of time we will wait before we start deleting the backup. This happens during swaps when old backups need to be deleted. Some delay is


getReadOnlyKeytabPath

public java.lang.String getReadOnlyKeytabPath()

setReadOnlyKeytabPath

public void setReadOnlyKeytabPath(java.lang.String readOnlyKeytabPath)
Path to keytab for principal used for kerberized Hadoop grids


getReadOnlyKerberosUser

public java.lang.String getReadOnlyKerberosUser()

setReadOnlyKerberosUser

public void setReadOnlyKerberosUser(java.lang.String readOnlyKerberosUser)
Principal used in kerberized Hadoop grids


getHadoopConfigPath

public java.lang.String getHadoopConfigPath()

setHadoopConfigPath

public void setHadoopConfigPath(java.lang.String hadoopConfigPath)
Path to the hadoop config


getSocketBufferSize

public int getSocketBufferSize()

setSocketBufferSize

public void setSocketBufferSize(int socketBufferSize)
ClientConfig.setSocketBufferSize(int)


getSocketKeepAlive

public boolean getSocketKeepAlive()

setSocketKeepAlive

public void setSocketKeepAlive(boolean on)
ClientConfig.setSocketKeepAlive(boolean)


getNioAcceptorBacklog

public int getNioAcceptorBacklog()

setNioAcceptorBacklog

public void setNioAcceptorBacklog(int nioAcceptorBacklog)
Determines the size of the NioSocketService's accept backlog queue. A large enough backlog queue prevents connections from being dropped during connection bursts


getAdminSocketBufferSize

public int getAdminSocketBufferSize()

setAdminSocketBufferSize

public void setAdminSocketBufferSize(int socketBufferSize)
ClientConfig.setSocketBufferSize(int) to use for network operations during admin operations


getStorageConfigurations

public java.util.List<java.lang.String> getStorageConfigurations()

setStorageConfigurations

public void setStorageConfigurations(java.util.List<java.lang.String> storageConfigurations)
List of fully qualified class names of StorageEngine types to enable on the server

getAllProps

public Props getAllProps()

setRequestFormatType

public void setRequestFormatType(RequestFormatType type)
ClientConfig.setRequestFormatType(RequestFormatType)


getRequestFormatType

public RequestFormatType getRequestFormatType()

isServerRoutingEnabled

public boolean isServerRoutingEnabled()

setEnableServerRouting

public void setEnableServerRouting(boolean enableServerRouting)
If enabled, Routing may happen in the server,depending on store definition. Note that the Java Client DefaultStoreClient does not support this yet.


getNumScanPermits

public int getNumScanPermits()

setNumScanPermits

public void setNumScanPermits(int numScanPermits)
Maximum number of background tasks to run parallely with the online traffic. This trades off between time to finish background work and impact on online performance eg: DataCleanupJob and StreamingSlopPusherJob


getFailureDetectorImplementation

public java.lang.String getFailureDetectorImplementation()

setFailureDetectorImplementation

public void setFailureDetectorImplementation(java.lang.String failureDetectorImplementation)
ClientConfig.setFailureDetectorImplementation(String)


getFailureDetectorBannagePeriod

public long getFailureDetectorBannagePeriod()

setFailureDetectorBannagePeriod

public void setFailureDetectorBannagePeriod(long failureDetectorBannagePeriod)
ClientConfig.setFailureDetectorBannagePeriod(long)


getFailureDetectorThreshold

public int getFailureDetectorThreshold()

setFailureDetectorThreshold

public void setFailureDetectorThreshold(int failureDetectorThreshold)
ClientConfig.setFailureDetectorThreshold(int)


getFailureDetectorThresholdCountMinimum

public int getFailureDetectorThresholdCountMinimum()

setFailureDetectorThresholdCountMinimum

public void setFailureDetectorThresholdCountMinimum(int failureDetectorThresholdCountMinimum)
ClientConfig.setFailureDetectorThresholdCountMinimum(int)


getFailureDetectorThresholdInterval

public long getFailureDetectorThresholdInterval()

setFailureDetectorThresholdInterval

public void setFailureDetectorThresholdInterval(long failureDetectorThresholdInterval)
ClientConfig.setFailureDetectorThresholdInterval(long)


getFailureDetectorAsyncRecoveryInterval

public long getFailureDetectorAsyncRecoveryInterval()

setFailureDetectorAsyncRecoveryInterval

public void setFailureDetectorAsyncRecoveryInterval(long failureDetectorAsyncRecoveryInterval)
ClientConfig.setFailureDetectorAsyncRecoveryInterval(long)


getFailureDetectorCatastrophicErrorTypes

public java.util.List<java.lang.String> getFailureDetectorCatastrophicErrorTypes()

setFailureDetectorCatastrophicErrorTypes

public void setFailureDetectorCatastrophicErrorTypes(java.util.List<java.lang.String> failureDetectorCatastrophicErrorTypes)
ClientConfig.setFailureDetectorCatastrophicErrorTypes(List)


getFailureDetectorRequestLengthThreshold

public long getFailureDetectorRequestLengthThreshold()

setFailureDetectorRequestLengthThreshold

public void setFailureDetectorRequestLengthThreshold(long failureDetectorRequestLengthThreshold)
ClientConfig.setFailureDetectorRequestLengthThreshold(long)


getRetentionCleanupFirstStartTimeInHour

public int getRetentionCleanupFirstStartTimeInHour()

setRetentionCleanupFirstStartTimeInHour

public void setRetentionCleanupFirstStartTimeInHour(int retentionCleanupFirstStartTimeInHour)
The first hour in the day, when the DataCleanupJob will start


getRetentionCleanupFirstStartDayOfWeek

public int getRetentionCleanupFirstStartDayOfWeek()

setRetentionCleanupFirstStartDayOfWeek

public void setRetentionCleanupFirstStartDayOfWeek(int retentionCleanupFirstStartDayOfWeek)
First day of the week to run DataCleanupJob, after server starts up. From there on, it will run with the configured frequency. 1=SUN, 2=MON, 3=TUE, 4=WED, 5=THU, 6=FRI,7=SAT


getRetentionCleanupScheduledPeriodInHour

public int getRetentionCleanupScheduledPeriodInHour()

setRetentionCleanupScheduledPeriodInHour

public void setRetentionCleanupScheduledPeriodInHour(int retentionCleanupScheduledPeriodInHour)
Frequency to run DataCleanupJob


getRetentionCleanupPinStartTime

public boolean getRetentionCleanupPinStartTime()

setRetentionCleanupPinStartTime

public void setRetentionCleanupPinStartTime(boolean retentionCleanupFixStartTime)
if enabled, DataCleanupJob will be pinned to the same time each run interval. Otherwise, it will slowly shift based on how long the job actually takes to complete. See Timer.scheduleAtFixedRate(TimerTask, java.util.Date, long)


isEnforceRetentionPolicyOnRead

public boolean isEnforceRetentionPolicyOnRead()

setEnforceRetentionPolicyOnRead

public void setEnforceRetentionPolicyOnRead(boolean enforceRetentionPolicyOnRead)
If enabled, the server will perform an expiry check for get and getall and will not return stale entries


isDeleteExpiredValuesOnRead

public boolean isDeleteExpiredValuesOnRead()

setDeleteExpiredValuesOnRead

public void setDeleteExpiredValuesOnRead(boolean deleteExpiredValuesOnRead)
If enabled, in addition to filtering stale entries, the server will also delete the stale value


getAdminSocketTimeout

public int getAdminSocketTimeout()

setAdminSocketTimeout

public void setAdminSocketTimeout(int adminSocketTimeout)
ClientConfig.setSocketTimeout(int, java.util.concurrent.TimeUnit) to use in AdminService


getAdminConnectionTimeout

public int getAdminConnectionTimeout()

setAdminConnectionTimeout

public void setAdminConnectionTimeout(int adminConnectionTimeout)
( ClientConfig.setConnectionTimeout(int, java.util.concurrent.TimeUnit) to use in AdminService


getRebalancingTimeoutSec

public long getRebalancingTimeoutSec()

setRebalancingTimeoutSec

public void setRebalancingTimeoutSec(long rebalancingTimeoutSec)
The maximum amount of time the server will wait for the remote rebalancing tasks to finish.


isGossipEnabled

public boolean isGossipEnabled()

setEnableGossip

public void setEnableGossip(boolean enableGossip)
Enabled gossip between servers, in server side routing.. Has no effect when using client side routing, as in DefaultStoreClient


getReadOnlySearchStrategy

public java.lang.String getReadOnlySearchStrategy()

getReadOnlyFetcherMaxBytesPerSecond

public long getReadOnlyFetcherMaxBytesPerSecond()

setReadOnlyFetcherMaxBytesPerSecond

public void setReadOnlyFetcherMaxBytesPerSecond(long maxBytesPerSecond)
Global throttle limit for all hadoop fetches. New flows will dynamically share bandwidth with existing flows, to respect this parameter at all times.


getReadOnlyFetcherMinBytesPerSecond

public long getReadOnlyFetcherMinBytesPerSecond()

setReadOnlyFetcherMinBytesPerSecond

public void setReadOnlyFetcherMinBytesPerSecond(long minBytesPerSecond)
Minimum amount of bandwidth that is guaranteed for any read only hadoop fetch.. New flows will be rejected if the server cannot guarantee this property for existing flows, if it accepts the new flow.


getReadOnlyFetcherReportingIntervalBytes

public long getReadOnlyFetcherReportingIntervalBytes()

setReadOnlyFetcherReportingIntervalBytes

public void setReadOnlyFetcherReportingIntervalBytes(long reportingIntervalBytes)
Interval to report statistics for HDFS fetches


getFetcherBufferSize

public int getFetcherBufferSize()

setFetcherBufferSize

public void setFetcherBufferSize(int fetcherBufferSize)
Size of buffer to be used for HdfsFetcher. Note that this does not apply to WebHDFS fetches


setReadOnlySearchStrategy

public void setReadOnlySearchStrategy(java.lang.String readOnlySearchStrategy)
Strategy to be used to search the read-only index for a given key. Either BinarySearchStrategy or InterpolationSearchStrategy


isNetworkClassLoaderEnabled

public boolean isNetworkClassLoaderEnabled()

setEnableNetworkClassLoader

public void setEnableNetworkClassLoader(boolean enableNetworkClassLoader)
Loads a class to be used as a VAdminProto.VoldemortFilter. Note that this is not officially supported


setEnableRebalanceService

public void setEnableRebalanceService(boolean enableRebalanceService)
If enabled, Rebalancing is enabled on the server


isEnableRebalanceService

public boolean isEnableRebalanceService()

getMaxParallelStoresRebalancing

public int getMaxParallelStoresRebalancing()

setMaxParallelStoresRebalancing

public void setMaxParallelStoresRebalancing(int maxParallelStoresRebalancing)
The maximum number of stores that can be rebalancing at the same time. This is one of the parameters that trades off between rebalancing speed and impact to online traffic


usePartitionScanForRebalance

public boolean usePartitionScanForRebalance()

setMaxProxyPutThreads

public void setMaxProxyPutThreads(int maxProxyPutThreads)
Total number of threads needed to issue proxy puts during rebalancing


getMaxProxyPutThreads

public int getMaxProxyPutThreads()

setUsePartitionScanForRebalance

public void setUsePartitionScanForRebalance(boolean usePartitionScanForRebalance)
Enables fast, efficient range scans to be used for rebalancing Note: Only valid if the storage engine supports partition scans StorageEngine.isPartitionScanSupported()


isEnableJmxClusterName

public boolean isEnableJmxClusterName()

setEnableJmxClusterName

public void setEnableJmxClusterName(boolean enableJmxClusterName)
If enabled, the cluster name will be used as a part of the Mbeans created.


testingGetSlowQueueingDelays

public OpTimeMap testingGetSlowQueueingDelays()

testingGetSlowConcurrentDelays

public OpTimeMap testingGetSlowConcurrentDelays()

isUseMlock

public boolean isUseMlock()

setUseMlock

public void setUseMlock(boolean useMlock)
If true, the server will mlock read-only index files and pin them to memory. This might help in controlling thrashing of index pages.

Parameters:
useMlock -

getGossipInterval

public int getGossipInterval()

setGossipInterval

public void setGossipInterval(int gossipIntervalMs)
When Gossip is enabled, time interval to exchange gossip messages between servers


isRestServiceEnabled

public boolean isRestServiceEnabled()

setEnableRestService

public void setEnableRestService(boolean enableRestService)
Whether or not the RestService is enabled


getNumRestServiceNettyBossThreads

public int getNumRestServiceNettyBossThreads()

setNumRestServiceNettyBossThreads

public void setNumRestServiceNettyBossThreads(int numRestServiceNettyBossThreads)
The number of threads in the REST server Netty Boss thread pool.


getNumRestServiceNettyWorkerThreads

public int getNumRestServiceNettyWorkerThreads()

setNumRestServiceNettyWorkerThreads

public void setNumRestServiceNettyWorkerThreads(int numRestServiceNettyWorkerThreads)
The number of threads in the REST server Netty worker thread pool.


getNumRestServiceStorageThreads

public int getNumRestServiceStorageThreads()

setNumRestServiceStorageThreads

public void setNumRestServiceStorageThreads(int numRestServiceStorageThreads)
The number of threads in the REST server storage thread pool.


getRestServiceStorageThreadPoolQueueSize

public int getRestServiceStorageThreadPoolQueueSize()

setRestServiceStorageThreadPoolQueueSize

public void setRestServiceStorageThreadPoolQueueSize(int restServiceStorageThreadPoolQueueSize)
The capacity of the REST server storage thread pool queue.



Jay Kreps, Roshan Sumbaly, Alex Feinberg, Bhupesh Bansal, Lei Gao, Chinmay Soman, Vinoth Chandar, Zhongjie Wu