Class DataStorageConfiguration
- java.lang.Object
-
- org.apache.ignite.configuration.DataStorageConfiguration
-
- All Implemented Interfaces:
Serializable
public class DataStorageConfiguration extends Object implements Serializable
A durable memory configuration for an Apache Ignite node. The durable memory is a manageable off-heap based memory architecture that divides all expandable data regions into pages of fixed size (seegetPageSize()). An individual page can store one or many cache key-value entries that allows reusing the memory in the most efficient way and avoid memory fragmentation issues.By default, the durable memory allocates a single expandable data region with default settings. All the caches that will be configured in an application will be mapped to this data region by default, thus, all the cache data will reside in that data region. Parameters of default data region can be changed by setting
setDefaultDataRegionConfiguration(DataRegionConfiguration). Other data regions (except default) can be configured withsetDataRegionConfigurations(DataRegionConfiguration...).Data region can be used in memory-only mode, or in persistent mode, when memory is used as a caching layer for disk. Persistence for data region can be turned on with
DataRegionConfiguration.setPersistenceEnabled(boolean)flag. To learn more about data regions refer toDataRegionConfigurationdocumentation.Sample configuration below shows how to make 5 GB data regions the default one for Apache Ignite:
<property name="dataStorageConfiguration"> <bean class="org.apache.ignite.configuration.DataStorageConfiguration"> <property name="systemCacheInitialSize" value="#{100L * 1024 * 1024}"/> <property name="defaultDataRegionConfiguration"> <bean class="org.apache.ignite.configuration.DataRegionConfiguration"> <property name="name" value="default_data_region"/> <property name="initialSize" value="#{5L * 1024 * 1024 * 1024}"/> </bean> </property> </bean> </property>- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static StringDFLT_BINARY_METADATA_PATHDefault path (relative to working directory) of binary metadata folderstatic longDFLT_CDC_WAL_DIRECTORY_MAX_SIZEDefault change data capture directory maximum size.static intDFLT_CHECKPOINT_FREQstatic intDFLT_CHECKPOINT_THREADSDefault number of checkpoint threads.static CheckpointWriteOrderDFLT_CHECKPOINT_WRITE_ORDERDefault checkpoint write order.static StringDFLT_DATA_REG_DEFAULT_NAMEThis name is assigned to default Dataregion if no user-defined default MemPlc is specifiedstatic longDFLT_DATA_REGION_INITIAL_SIZEDefault data region start size (256 MB).static longDFLT_DATA_REGION_MAX_SIZEDefault data region's size is 20% of physical memory available on current machine.static intDFLT_DEFRAGMENTATION_THREAD_POOL_SIZEDefault defragmentation thread pool size.static intDFLT_LOCK_WAIT_TIMELock default wait time, 10 sec.static StringDFLT_MARSHALLER_PATHDefault path (relative to working directory) of marshaller mappings folderstatic booleanDFLT_METRICS_ENABLEDDeprecated.Will be removed in upcoming releases.static intDFLT_PAGE_SIZEDefault memory page size.static intDFLT_RATE_TIME_INTERVAL_MILLISDefault length of interval over which rate-based metric is calculated.static intDFLT_SUB_INTERVALSDefault amount of sub intervals to calculate rate-based metric.static intDFLT_TLB_SIZEDefault thread local buffer size.static booleanDFLT_USE_ASYNC_FILE_IO_FACTORYstatic booleanDFLT_WAL_ALWAYS_WRITE_FULL_PAGESDefault wal always write full pages.static longDFLT_WAL_ARCHIVE_MAX_SIZEDefault max size of WAL archive files, in bytes.static StringDFLT_WAL_ARCHIVE_PATHDefault wal archive directory.static intDFLT_WAL_BUFF_SIZEDefault thread local buffer size.static StringDFLT_WAL_CDC_PATHDefault change data capture directory.static booleanDFLT_WAL_COMPACTION_ENABLEDDefault wal compaction enabled.static intDFLT_WAL_COMPACTION_LEVELDefault wal compaction level.static intDFLT_WAL_FLUSH_FREQDefault Wal flush frequency.static intDFLT_WAL_FSYNC_DELAYDefault wal fsync delay.static intDFLT_WAL_HISTORY_SIZEDefault number of checkpoints to be kept in WAL after checkpoint is finishedstatic WALModeDFLT_WAL_MODEDefault wal mode.static DiskPageCompressionDFLT_WAL_PAGE_COMPRESSIONDefault compression algorithm for WAL page snapshot records.static StringDFLT_WAL_PATHDefault wal directory.static intDFLT_WAL_RECORD_ITERATOR_BUFFER_SIZEDefault wal record iterator buffer size.static intDFLT_WAL_SEGMENT_SIZEDefault WAL file segment size, 64MBytesstatic intDFLT_WAL_SEGMENTSstatic booleanDFLT_WRITE_THROTTLING_ENABLEDDefault write throttling enabled.static longHALF_MAX_WAL_ARCHIVE_SIZEValue used to indicate the use of half of thegetMaxWalArchiveSize().static intMAX_PAGE_SIZEMax memory page size.static intMIN_PAGE_SIZEMin memory page size.static longUNLIMITED_WAL_ARCHIVEValue used for making WAL archive size unlimited.
-
Constructor Summary
Constructors Constructor Description DataStorageConfiguration()Creates valid durable memory configuration with all default values.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description longgetCdcWalDirectoryMaxSize()Sets theCDC directorymaximum size in bytes.StringgetCdcWalPath()Gets a path to the CDC directory.longgetCheckpointFrequency()Gets checkpoint frequency.LonggetCheckpointReadLockTimeout()Returns timeout for checkpoint read lock acquisition.intgetCheckpointThreads()Gets a number of threads to use for the checkpoint purposes.CheckpointWriteOrdergetCheckpointWriteOrder()This property defines order of writing pages to disk storage during checkpoint.intgetConcurrencyLevel()Returns the number of concurrent segments in Ignite internal page mapping tables.DataRegionConfiguration[]getDataRegionConfigurations()Gets an array of all data regions configured.DataRegionConfigurationgetDefaultDataRegionConfiguration()@Nullable WarmUpConfigurationgetDefaultWarmUpConfiguration()Gets default warm-up configuration.intgetDefragmentationThreadPoolSize()Maximum number of partitions which can be defragmented at the same time.EncryptionConfigurationgetEncryptionConfiguration()Gets encryyption configuration.org.apache.ignite.internal.processors.cache.persistence.file.FileIOFactorygetFileIOFactory()Factory to provide implementation of FileIO interface which is used for data storage files read/write operationslonggetLockWaitTime()Timeout in milliseconds to wait when acquiring persistence store lock file before failing the local node.longgetMaxWalArchiveSize()Gets a max allowed size(in bytes) of WAL archives.@Nullable MemoryAllocatorgetMemoryAllocator()longgetMetricsRateTimeInterval()Deprecated.UseMetricsMxBean.configureHitRateMetric(String, long)instead.intgetMetricsSubIntervalCount()Deprecated.UseMetricsMxBean.configureHitRateMetric(String, long)instead.longgetMinWalArchiveSize()Gets a min allowed size(in bytes) of WAL archives.intgetPageSize()The page memory consists of one or more expandable data regions defined byDataRegionConfiguration.StringgetStoragePath()SystemDataRegionConfigurationgetSystemDataRegionConfiguration()Configuration of system data region.longgetSystemRegionInitialSize()Deprecated.longgetSystemRegionMaxSize()Deprecated.StringgetWalArchivePath()Gets a path to the WAL archive directory.longgetWalAutoArchiveAfterInactivity()intgetWalBufferSize()Property defines size(in bytes) of WAL buffer.intgetWalCompactionLevel()longgetWalFlushFrequency()This property define how often WAL will be fsync-ed inBACKGROUNDmode.longgetWalForceArchiveTimeout()longgetWalFsyncDelayNanos()intgetWalHistorySize()Deprecated.Instead of walHistorySize use maxWalArchiveSize for manage of archive size.WALModegetWalMode()Property that defines behavior of wal fsync.DiskPageCompressiongetWalPageCompression()Gets compression algorithm for WAL page snapshot records.IntegergetWalPageCompressionLevel()Getsalgorithmspecific WAL page compression level.StringgetWalPath()Gets a path to the directory where WAL is stored.intgetWalRecordIteratorBufferSize()Property define how many bytes iterator read from disk (for one reading), during go ahead wal.intgetWalSegments()Gets a number of WAL segments to work with.intgetWalSegmentSize()Gets size(in bytes) of a WAL segment.intgetWalThreadLocalBufferSize()Property for size of thread local buffer.booleanisAlwaysWriteFullPages()booleanisMetricsEnabled()Deprecated.Will be removed in upcoming releases.booleanisWalCompactionEnabled()booleanisWalHistorySizeParameterUsed()If WalHistorySize was set by user will use this parameter for compatibility.booleanisWriteThrottlingEnabled()DataStorageConfigurationsetAlwaysWriteFullPages(boolean alwaysWriteFullPages)Sets flag that enforces writing full page to WAL on every change (instead of delta record).DataStorageConfigurationsetCdcWalDirectoryMaxSize(long cdcWalDirMaxSize)Sets the CDC directory maximum size in bytes.DataStorageConfigurationsetCdcWalPath(String cdcWalPath)Sets a path for the CDC directory.DataStorageConfigurationsetCheckpointFrequency(long checkpointFreq)Sets the checkpoint frequency which is a minimal interval when the dirty pages will be written to the Persistent Store.DataStorageConfigurationsetCheckpointReadLockTimeout(long checkpointReadLockTimeout)Sets timeout for checkpoint read lock acquisition.DataStorageConfigurationsetCheckpointThreads(int checkpointThreads)Sets a number of threads to use for the checkpoint purposes.DataStorageConfigurationsetCheckpointWriteOrder(CheckpointWriteOrder checkpointWriteOrder)This property defines order of writing pages to disk storage during checkpoint.DataStorageConfigurationsetConcurrencyLevel(int concLvl)Sets the number of concurrent segments in Ignite internal page mapping tables.DataStorageConfigurationsetDataRegionConfigurations(DataRegionConfiguration... dataRegionConfigurations)Sets data regions configurations.DataStorageConfigurationsetDefaultDataRegionConfiguration(DataRegionConfiguration dfltDataRegConf)Overrides configuration of default data region which has been created automatically.DataStorageConfigurationsetDefaultWarmUpConfiguration(@Nullable WarmUpConfiguration dfltWarmUpCfg)Sets default warm-up configuration.DataStorageConfigurationsetDefragmentationThreadPoolSize(int defragmentationThreadPoolSize)Sets maximum number of partitions which can be defragmented at the same time.DataStorageConfigurationsetEncryptionConfiguration(EncryptionConfiguration encCfg)Sets encryption configuration.DataStorageConfigurationsetFileIOFactory(org.apache.ignite.internal.processors.cache.persistence.file.FileIOFactory fileIOFactory)Sets factory to provide implementation of FileIO interface which is used for data storage files read/write operationsDataStorageConfigurationsetLockWaitTime(long lockWaitTime)Timeout in milliseconds to wait when acquiring persistence store lock file before failing the local node.DataStorageConfigurationsetMaxWalArchiveSize(long walArchiveMaxSize)Sets a max allowed size(in bytes) of WAL archives.DataStorageConfigurationsetMemoryAllocator(MemoryAllocator allocator)Sets default memory allocator for all memory regions.DataStorageConfigurationsetMetricsEnabled(boolean metricsEnabled)Deprecated.Will be removed in upcoming releases.DataStorageConfigurationsetMetricsRateTimeInterval(long metricsRateTimeInterval)Deprecated.UseMetricsMxBean.configureHitRateMetric(String, long)instead.DataStorageConfigurationsetMetricsSubIntervalCount(int metricsSubIntervalCnt)Deprecated.UseMetricsMxBean.configureHitRateMetric(String, long)instead.DataStorageConfigurationsetMinWalArchiveSize(long walArchiveMinSize)Sets a min allowed size(in bytes) of WAL archives.DataStorageConfigurationsetPageSize(int pageSize)Changes the page size.DataStorageConfigurationsetStoragePath(String persistenceStorePath)Sets a path to the root directory where the Persistent Store will persist data and indexes.DataStorageConfigurationsetSystemDataRegionConfiguration(SystemDataRegionConfiguration sysDataRegConf)Overrides configuration of system data region which has been created automatically.DataStorageConfigurationsetSystemRegionInitialSize(long sysRegionInitSize)Deprecated.DataStorageConfigurationsetSystemRegionMaxSize(long sysRegionMaxSize)Deprecated.DataStorageConfigurationsetWalArchivePath(String walArchivePath)Sets a path for the WAL archive directory.DataStorageConfigurationsetWalAutoArchiveAfterInactivity(long walAutoArchiveAfterInactivity)Note: setting this value withWALMode.FSYNCmay generate file size overhead for WAL segments in case grid is used rarely.DataStorageConfigurationsetWalBufferSize(int walBuffSize)Property defines size(in bytes) of WAL buffer.DataStorageConfigurationsetWalCompactionEnabled(boolean walCompactionEnabled)Sets flag indicating whether WAL compaction is enabled.voidsetWalCompactionLevel(int walCompactionLevel)DataStorageConfigurationsetWalFlushFrequency(long walFlushFreq)This property define how often WAL will be fsync-ed inBACKGROUNDmode.DataStorageConfigurationsetWalForceArchiveTimeout(long walForceArchiveTimeout)DataStorageConfigurationsetWalFsyncDelayNanos(long walFsyncDelayNanos)Sets property that allows to trade latency for throughput inWALMode.FSYNCmode.DataStorageConfigurationsetWalHistorySize(int walHistSize)Deprecated.Instead of walHistorySize use maxWalArchiveSize for manage of archive size.DataStorageConfigurationsetWalMode(WALMode walMode)Sets property that defines behavior of wal fsync.DataStorageConfigurationsetWalPageCompression(DiskPageCompression walPageCompression)Sets compression algorithm for WAL page snapshot records.DataStorageConfigurationsetWalPageCompressionLevel(Integer walPageCompressionLevel)Setsalgorithmspecific page compression level.DataStorageConfigurationsetWalPath(String walStorePath)Sets a path to the directory where WAL is stored.DataStorageConfigurationsetWalRecordIteratorBufferSize(int walRecordIterBuffSize)Sets property defining how many bytes iterator read from disk (for one reading), during go ahead wal.DataStorageConfigurationsetWalSegments(int walSegments)Sets a number of WAL segments to work with.DataStorageConfigurationsetWalSegmentSize(int walSegmentSize)Sets size(in bytes) of a WAL segment.DataStorageConfigurationsetWalThreadLocalBufferSize(int walTlbSize)Sets size of thread local buffer.DataStorageConfigurationsetWriteThrottlingEnabled(boolean writeThrottlingEnabled)Sets flag indicating whether write throttling is enabled.StringtoString()
-
-
-
Field Detail
-
UNLIMITED_WAL_ARCHIVE
public static final long UNLIMITED_WAL_ARCHIVE
Value used for making WAL archive size unlimited.- See Also:
- Constant Field Values
-
DFLT_DATA_REGION_INITIAL_SIZE
public static final long DFLT_DATA_REGION_INITIAL_SIZE
Default data region start size (256 MB).- See Also:
- Constant Field Values
-
DFLT_DATA_REGION_MAX_SIZE
public static final long DFLT_DATA_REGION_MAX_SIZE
Default data region's size is 20% of physical memory available on current machine.
-
DFLT_PAGE_SIZE
public static final int DFLT_PAGE_SIZE
Default memory page size.- See Also:
- Constant Field Values
-
MAX_PAGE_SIZE
public static final int MAX_PAGE_SIZE
Max memory page size.- See Also:
- Constant Field Values
-
MIN_PAGE_SIZE
public static final int MIN_PAGE_SIZE
Min memory page size.- See Also:
- Constant Field Values
-
DFLT_DATA_REG_DEFAULT_NAME
public static final String DFLT_DATA_REG_DEFAULT_NAME
This name is assigned to default Dataregion if no user-defined default MemPlc is specified- See Also:
- Constant Field Values
-
DFLT_CHECKPOINT_FREQ
public static final int DFLT_CHECKPOINT_FREQ
- See Also:
- Constant Field Values
-
DFLT_LOCK_WAIT_TIME
public static final int DFLT_LOCK_WAIT_TIME
Lock default wait time, 10 sec.- See Also:
- Constant Field Values
-
DFLT_METRICS_ENABLED
@Deprecated public static final boolean DFLT_METRICS_ENABLED
Deprecated.Will be removed in upcoming releases.- See Also:
- Constant Field Values
-
DFLT_SUB_INTERVALS
public static final int DFLT_SUB_INTERVALS
Default amount of sub intervals to calculate rate-based metric.- See Also:
- Constant Field Values
-
DFLT_RATE_TIME_INTERVAL_MILLIS
public static final int DFLT_RATE_TIME_INTERVAL_MILLIS
Default length of interval over which rate-based metric is calculated.- See Also:
- Constant Field Values
-
DFLT_CHECKPOINT_THREADS
public static final int DFLT_CHECKPOINT_THREADS
Default number of checkpoint threads.- See Also:
- Constant Field Values
-
DFLT_CHECKPOINT_WRITE_ORDER
public static final CheckpointWriteOrder DFLT_CHECKPOINT_WRITE_ORDER
Default checkpoint write order.
-
DFLT_WAL_HISTORY_SIZE
public static final int DFLT_WAL_HISTORY_SIZE
Default number of checkpoints to be kept in WAL after checkpoint is finished- See Also:
- Constant Field Values
-
DFLT_WAL_ARCHIVE_MAX_SIZE
public static final long DFLT_WAL_ARCHIVE_MAX_SIZE
Default max size of WAL archive files, in bytes.- See Also:
- Constant Field Values
-
DFLT_WAL_SEGMENTS
public static final int DFLT_WAL_SEGMENTS
- See Also:
- Constant Field Values
-
DFLT_WAL_SEGMENT_SIZE
public static final int DFLT_WAL_SEGMENT_SIZE
Default WAL file segment size, 64MBytes- See Also:
- Constant Field Values
-
DFLT_WAL_MODE
public static final WALMode DFLT_WAL_MODE
Default wal mode.
-
DFLT_TLB_SIZE
public static final int DFLT_TLB_SIZE
Default thread local buffer size.- See Also:
- Constant Field Values
-
DFLT_WAL_BUFF_SIZE
public static final int DFLT_WAL_BUFF_SIZE
Default thread local buffer size.- See Also:
- Constant Field Values
-
DFLT_WAL_FLUSH_FREQ
public static final int DFLT_WAL_FLUSH_FREQ
Default Wal flush frequency.- See Also:
- Constant Field Values
-
DFLT_WAL_FSYNC_DELAY
public static final int DFLT_WAL_FSYNC_DELAY
Default wal fsync delay.- See Also:
- Constant Field Values
-
DFLT_WAL_RECORD_ITERATOR_BUFFER_SIZE
public static final int DFLT_WAL_RECORD_ITERATOR_BUFFER_SIZE
Default wal record iterator buffer size.- See Also:
- Constant Field Values
-
DFLT_WAL_ALWAYS_WRITE_FULL_PAGES
public static final boolean DFLT_WAL_ALWAYS_WRITE_FULL_PAGES
Default wal always write full pages.- See Also:
- Constant Field Values
-
DFLT_WAL_PATH
public static final String DFLT_WAL_PATH
Default wal directory.- See Also:
- Constant Field Values
-
DFLT_WAL_ARCHIVE_PATH
public static final String DFLT_WAL_ARCHIVE_PATH
Default wal archive directory.- See Also:
- Constant Field Values
-
DFLT_WAL_CDC_PATH
public static final String DFLT_WAL_CDC_PATH
Default change data capture directory.- See Also:
- Constant Field Values
-
DFLT_CDC_WAL_DIRECTORY_MAX_SIZE
public static final long DFLT_CDC_WAL_DIRECTORY_MAX_SIZE
Default change data capture directory maximum size.- See Also:
- Constant Field Values
-
DFLT_BINARY_METADATA_PATH
public static final String DFLT_BINARY_METADATA_PATH
Default path (relative to working directory) of binary metadata folder- See Also:
- Constant Field Values
-
DFLT_MARSHALLER_PATH
public static final String DFLT_MARSHALLER_PATH
Default path (relative to working directory) of marshaller mappings folder- See Also:
- Constant Field Values
-
DFLT_WRITE_THROTTLING_ENABLED
public static final boolean DFLT_WRITE_THROTTLING_ENABLED
Default write throttling enabled.- See Also:
- Constant Field Values
-
DFLT_WAL_COMPACTION_ENABLED
public static final boolean DFLT_WAL_COMPACTION_ENABLED
Default wal compaction enabled.- See Also:
- Constant Field Values
-
DFLT_WAL_COMPACTION_LEVEL
public static final int DFLT_WAL_COMPACTION_LEVEL
Default wal compaction level.- See Also:
- Constant Field Values
-
DFLT_DEFRAGMENTATION_THREAD_POOL_SIZE
public static final int DFLT_DEFRAGMENTATION_THREAD_POOL_SIZE
Default defragmentation thread pool size.- See Also:
- Constant Field Values
-
DFLT_WAL_PAGE_COMPRESSION
public static final DiskPageCompression DFLT_WAL_PAGE_COMPRESSION
Default compression algorithm for WAL page snapshot records.
-
DFLT_USE_ASYNC_FILE_IO_FACTORY
public static final boolean DFLT_USE_ASYNC_FILE_IO_FACTORY
-
HALF_MAX_WAL_ARCHIVE_SIZE
public static final long HALF_MAX_WAL_ARCHIVE_SIZE
Value used to indicate the use of half of thegetMaxWalArchiveSize().- See Also:
- Constant Field Values
-
-
Method Detail
-
getSystemRegionInitialSize
@Deprecated public long getSystemRegionInitialSize()
Deprecated.Initial size of a data region reserved for system cache.- Returns:
- Size in bytes.
-
setSystemRegionInitialSize
@Deprecated public DataStorageConfiguration setSystemRegionInitialSize(long sysRegionInitSize)
Deprecated.Sets initial size of a data region reserved for system cache.- Parameters:
sysRegionInitSize- Size in bytes.- Returns:
thisfor chaining.
-
getSystemRegionMaxSize
@Deprecated public long getSystemRegionMaxSize()
Deprecated.Maximum data region size reserved for system cache.- Returns:
- Size in bytes.
-
setSystemRegionMaxSize
@Deprecated public DataStorageConfiguration setSystemRegionMaxSize(long sysRegionMaxSize)
Deprecated.Sets maximum data region size reserved for system cache. The total size should not be less than 10 MB due to internal data structures overhead.- Parameters:
sysRegionMaxSize- Maximum size in bytes for system cache data region.- Returns:
thisfor chaining.
-
getPageSize
public int getPageSize()
The page memory consists of one or more expandable data regions defined byDataRegionConfiguration. Every data region is split on pages of fixed size that store actual cache entries.- Returns:
- Page size in bytes.
-
setPageSize
public DataStorageConfiguration setPageSize(int pageSize)
Changes the page size.- Parameters:
pageSize- Page size in bytes. Supported values are:1024,2048,4096,8192and16384. If value is not set (or zero),DFLT_PAGE_SIZE(4096) will be used.- Returns:
thisfor chaining.- See Also:
MIN_PAGE_SIZE,MAX_PAGE_SIZE
-
getDataRegionConfigurations
public DataRegionConfiguration[] getDataRegionConfigurations()
Gets an array of all data regions configured. Apache Ignite will instantiate a dedicated data region per region. An Apache Ignite cache can be mapped to a specific region withCacheConfiguration.setDataRegionName(String)method.- Returns:
- Array of configured data regions.
-
setDataRegionConfigurations
public DataStorageConfiguration setDataRegionConfigurations(DataRegionConfiguration... dataRegionConfigurations)
Sets data regions configurations.- Parameters:
dataRegionConfigurations- Data regions configurations.- Returns:
thisfor chaining.
-
getConcurrencyLevel
public int getConcurrencyLevel()
Returns the number of concurrent segments in Ignite internal page mapping tables. By default equals to the number of available CPUs.- Returns:
- Mapping table concurrency level(always greater than 0).
-
setConcurrencyLevel
public DataStorageConfiguration setConcurrencyLevel(int concLvl)
Sets the number of concurrent segments in Ignite internal page mapping tables. If value is not positive, the number of available CPUs will be used.- Parameters:
concLvl- Mapping table concurrency level.- Returns:
thisfor chaining.
-
getDefaultDataRegionConfiguration
public DataRegionConfiguration getDefaultDataRegionConfiguration()
- Returns:
- Configuration of default data region. All cache groups will reside in this data region by default.
For assigning a custom data region to cache group, use
CacheConfiguration.setDataRegionName(String).
-
setDefaultDataRegionConfiguration
public DataStorageConfiguration setDefaultDataRegionConfiguration(DataRegionConfiguration dfltDataRegConf)
Overrides configuration of default data region which has been created automatically.- Parameters:
dfltDataRegConf- Default data region configuration.- Returns:
thisfor chaining.
-
getSystemDataRegionConfiguration
public SystemDataRegionConfiguration getSystemDataRegionConfiguration()
Configuration of system data region.- Returns:
- Configuration of system data region.
-
setSystemDataRegionConfiguration
public DataStorageConfiguration setSystemDataRegionConfiguration(SystemDataRegionConfiguration sysDataRegConf)
Overrides configuration of system data region which has been created automatically.- Parameters:
sysDataRegConf- System data region configuration.- Returns:
thisfor chaining.
-
getStoragePath
public String getStoragePath()
- Returns:
- A path the root directory where the Persistent Store will persist data and indexes.
-
setStoragePath
public DataStorageConfiguration setStoragePath(String persistenceStorePath)
Sets a path to the root directory where the Persistent Store will persist data and indexes. By default the Persistent Store's files are located under Ignite work directory.- Parameters:
persistenceStorePath- Persistence store path.- Returns:
thisfor chaining.
-
getCheckpointFrequency
public long getCheckpointFrequency()
Gets checkpoint frequency.- Returns:
- Checkpoint frequency in milliseconds.
-
setCheckpointFrequency
public DataStorageConfiguration setCheckpointFrequency(long checkpointFreq)
Sets the checkpoint frequency which is a minimal interval when the dirty pages will be written to the Persistent Store. Checkpoint will be triggered more frequently the lower the value you use. If value is not positive,DFLT_CHECKPOINT_FREQwill be used.- Parameters:
checkpointFreq- Checkpoint frequency in milliseconds.- Returns:
thisfor chaining.
-
getCheckpointThreads
public int getCheckpointThreads()
Gets a number of threads to use for the checkpoint purposes.- Returns:
- Number of checkpoint threads.
-
setCheckpointThreads
public DataStorageConfiguration setCheckpointThreads(int checkpointThreads)
Sets a number of threads to use for the checkpoint purposes.- Parameters:
checkpointThreads- Number of checkpoint threads. Four threads are used by default.- Returns:
thisfor chaining.
-
getLockWaitTime
public long getLockWaitTime()
Timeout in milliseconds to wait when acquiring persistence store lock file before failing the local node.- Returns:
- Lock wait time in milliseconds.
-
setLockWaitTime
public DataStorageConfiguration setLockWaitTime(long lockWaitTime)
Timeout in milliseconds to wait when acquiring persistence store lock file before failing the local node.- Parameters:
lockWaitTime- Lock wait time in milliseconds.- Returns:
thisfor chaining.
-
getWalHistorySize
@Deprecated public int getWalHistorySize()
Deprecated.Instead of walHistorySize use maxWalArchiveSize for manage of archive size.Gets a total number of checkpoints to keep in the WAL history.- Returns:
- Number of checkpoints to keep in WAL after a checkpoint is finished.
- See Also:
getMaxWalArchiveSize()
-
setWalHistorySize
@Deprecated public DataStorageConfiguration setWalHistorySize(int walHistSize)
Deprecated.Instead of walHistorySize use maxWalArchiveSize for manage of archive size.Sets a total number of checkpoints to keep in the WAL history.- Parameters:
walHistSize- Number of checkpoints to keep after a checkpoint is finished.- Returns:
thisfor chaining.- See Also:
setMaxWalArchiveSize(long)
-
isWalHistorySizeParameterUsed
public boolean isWalHistorySizeParameterUsed()
If WalHistorySize was set by user will use this parameter for compatibility.- Returns:
trueif use WalHistorySize for compatibility.
-
getMaxWalArchiveSize
public long getMaxWalArchiveSize()
Gets a max allowed size(in bytes) of WAL archives.- Returns:
- max size(in bytes) of WAL archive directory(greater than 0, or
UNLIMITED_WAL_ARCHIVEif WAL archive size is unlimited).
-
setMaxWalArchiveSize
public DataStorageConfiguration setMaxWalArchiveSize(long walArchiveMaxSize)
Sets a max allowed size(in bytes) of WAL archives. If value is not positive orUNLIMITED_WAL_ARCHIVE,DFLT_WAL_ARCHIVE_MAX_SIZEwill be used.- Parameters:
walArchiveMaxSize- max size(in bytes) of WAL archive directory.- Returns:
thisfor chaining.
-
getWalSegments
public int getWalSegments()
Gets a number of WAL segments to work with.- Returns:
- Number of work WAL segments.
-
setWalSegments
public DataStorageConfiguration setWalSegments(int walSegments)
Sets a number of WAL segments to work with. For performance reasons, the whole WAL is split into files of fixed length called segments.- Parameters:
walSegments- Number of WAL segments. Value must be greater than 1.- Returns:
thisfor chaining.
-
getWalSegmentSize
public int getWalSegmentSize()
Gets size(in bytes) of a WAL segment.- Returns:
- WAL segment size(in bytes).
-
setWalSegmentSize
public DataStorageConfiguration setWalSegmentSize(int walSegmentSize)
Sets size(in bytes) of a WAL segment. If value is not set (or zero),DFLT_WAL_SEGMENT_SIZEwill be used.- Parameters:
walSegmentSize- WAL segment size(in bytes). Value must be between 512Kb and 2Gb.- Returns:
Thisfor chaining.
-
getWalPath
public String getWalPath()
Gets a path to the directory where WAL is stored.- Returns:
- WAL persistence path, absolute or relative to Ignite work directory.
-
setWalPath
public DataStorageConfiguration setWalPath(String walStorePath)
Sets a path to the directory where WAL is stored. If this path is relative, it will be resolved relatively to Ignite work directory.- Parameters:
walStorePath- WAL persistence path, absolute or relative to Ignite work directory.- Returns:
thisfor chaining.
-
getWalArchivePath
public String getWalArchivePath()
Gets a path to the WAL archive directory.- Returns:
- WAL archive directory.
-
setWalArchivePath
public DataStorageConfiguration setWalArchivePath(String walArchivePath)
Sets a path for the WAL archive directory. Every WAL segment will be fully copied to this directory before it can be reused for WAL purposes.- Parameters:
walArchivePath- WAL archive directory.- Returns:
thisfor chaining.
-
getCdcWalPath
public String getCdcWalPath()
Gets a path to the CDC directory. If this path is relative, it will be resolved relatively to Ignite work directory.- Returns:
- CDC directory.
-
setCdcWalPath
public DataStorageConfiguration setCdcWalPath(String cdcWalPath)
Sets a path for the CDC directory. Hard link to every WAL Archive segment will be created in it for CDC processing purpose.- Parameters:
cdcWalPath- CDC directory.- Returns:
thisfor chaining.
-
getCdcWalDirectoryMaxSize
public long getCdcWalDirectoryMaxSize()
Sets theCDC directorymaximum size in bytes.- Returns:
- CDC directory maximum size in bytes.
-
setCdcWalDirectoryMaxSize
public DataStorageConfiguration setCdcWalDirectoryMaxSize(long cdcWalDirMaxSize)
Sets the CDC directory maximum size in bytes. Zero or negative means no limit. Creation of segment CDC link will be skipped when the total size of CDC files in thedirectoryexceeds the limit. The CDC application will log an error due to a gap in wal files sequence. Note that cache changes will be lost. Default is no limit.- Parameters:
cdcWalDirMaxSize- CDC directory maximum size in bytes.- Returns:
thisfor chaining.
-
isMetricsEnabled
@Deprecated public boolean isMetricsEnabled()
Deprecated.Will be removed in upcoming releases.Gets flag indicating whether persistence metrics collection is enabled. Default value isDFLT_METRICS_ENABLED.- Returns:
- Metrics enabled flag.
-
setMetricsEnabled
@Deprecated public DataStorageConfiguration setMetricsEnabled(boolean metricsEnabled)
Deprecated.Will be removed in upcoming releases.Sets flag indicating whether persistence metrics collection is enabled.- Parameters:
metricsEnabled- Metrics enabled flag.- Returns:
thisfor chaining.
-
isWriteThrottlingEnabled
public boolean isWriteThrottlingEnabled()
- Returns:
- Flag indicating whether write throttling is enabled.
-
setWriteThrottlingEnabled
public DataStorageConfiguration setWriteThrottlingEnabled(boolean writeThrottlingEnabled)
Sets flag indicating whether write throttling is enabled.- Parameters:
writeThrottlingEnabled- Write throttling enabled flag.- Returns:
thisfor chaining.
-
getMetricsRateTimeInterval
@Deprecated public long getMetricsRateTimeInterval()
Deprecated.UseMetricsMxBean.configureHitRateMetric(String, long)instead.Gets the length of the time interval for rate-based metrics. This interval defines a window over which hits will be tracked. Default value isDFLT_RATE_TIME_INTERVAL_MILLIS.- Returns:
- Time interval in milliseconds.
-
setMetricsRateTimeInterval
@Deprecated public DataStorageConfiguration setMetricsRateTimeInterval(long metricsRateTimeInterval)
Deprecated.UseMetricsMxBean.configureHitRateMetric(String, long)instead.Sets the length of the time interval for rate-based metrics. This interval defines a window over which hits will be tracked.- Parameters:
metricsRateTimeInterval- Time interval in milliseconds.- Returns:
thisfor chaining.
-
getMetricsSubIntervalCount
@Deprecated public int getMetricsSubIntervalCount()
Deprecated.UseMetricsMxBean.configureHitRateMetric(String, long)instead.Gets the number of sub-intervals to split thegetMetricsRateTimeInterval()into to track the update history. Default value isDFLT_SUB_INTERVALS.- Returns:
- The number of sub-intervals for history tracking.
-
setMetricsSubIntervalCount
@Deprecated public DataStorageConfiguration setMetricsSubIntervalCount(int metricsSubIntervalCnt)
Deprecated.UseMetricsMxBean.configureHitRateMetric(String, long)instead.Sets the number of sub-intervals to split thegetMetricsRateTimeInterval()into to track the update history.- Parameters:
metricsSubIntervalCnt- The number of sub-intervals for history tracking.- Returns:
thisfor chaining.
-
getWalMode
public WALMode getWalMode()
Property that defines behavior of wal fsync. Different type provides different guarantees for consistency. SeeWALModefor details.- Returns:
- WAL mode.
-
setWalMode
public DataStorageConfiguration setWalMode(WALMode walMode)
Sets property that defines behavior of wal fsync. Different type provides different guarantees for consistency. SeeWALModefor details.- Parameters:
walMode- Wal mode.- Returns:
thisfor chaining.
-
getWalThreadLocalBufferSize
public int getWalThreadLocalBufferSize()
Property for size of thread local buffer. Each thread which write to wal have thread local buffer for serialize recode before write in wal.- Returns:
- Thread local buffer size (in bytes).
-
setWalThreadLocalBufferSize
public DataStorageConfiguration setWalThreadLocalBufferSize(int walTlbSize)
Sets size of thread local buffer. Each thread which write to wal have thread local buffer for serialize recode before write in wal.- Parameters:
walTlbSize- Thread local buffer size (in bytes).- Returns:
thisfor chaining.
-
getWalBufferSize
public int getWalBufferSize()
Property defines size(in bytes) of WAL buffer. Each WAL record will be serialized to this buffer before write in WAL file.- Returns:
- WAL buffer size(in bytes).
-
setWalBufferSize
public DataStorageConfiguration setWalBufferSize(int walBuffSize)
Property defines size(in bytes) of WAL buffer. If value isn't positive it calculation will be based ongetWalSegmentSize().- Parameters:
walBuffSize- WAL buffer size(in bytes).- Returns:
thisfor chaining.
-
getWalFlushFrequency
public long getWalFlushFrequency()
This property define how often WAL will be fsync-ed inBACKGROUNDmode. Ignored for all other WAL modes.- Returns:
- WAL flush frequency, in milliseconds.
-
setWalFlushFrequency
public DataStorageConfiguration setWalFlushFrequency(long walFlushFreq)
This property define how often WAL will be fsync-ed inBACKGROUNDmode. Ignored for all other WAL modes.- Parameters:
walFlushFreq- WAL flush frequency, in milliseconds.- Returns:
thisfor chaining.
-
getWalFsyncDelayNanos
public long getWalFsyncDelayNanos()
- Returns:
- Property that allows to trade latency for throughput in
WALMode.FSYNCmode. It limits minimum time interval between WAL fsyncs. First thread that initiates WAL fsync will wait for this number of nanoseconds, another threads will just wait fsync of first thread (similar to CyclicBarrier). Total throughput should increase under load as total WAL fsync rate will be limited.
-
setWalFsyncDelayNanos
public DataStorageConfiguration setWalFsyncDelayNanos(long walFsyncDelayNanos)
Sets property that allows to trade latency for throughput inWALMode.FSYNCmode. It limits minimum time interval between WAL fsyncs. First thread that initiates WAL fsync will wait for this number of nanoseconds, another threads will just wait fsync of first thread (similar to CyclicBarrier). Total throughput should increase under load as total WAL fsync rate will be limited.- Parameters:
walFsyncDelayNanos- Wal fsync delay, in nanoseconds.- Returns:
thisfor chaining.
-
getWalRecordIteratorBufferSize
public int getWalRecordIteratorBufferSize()
Property define how many bytes iterator read from disk (for one reading), during go ahead wal.- Returns:
- Record iterator buffer size.
-
setWalRecordIteratorBufferSize
public DataStorageConfiguration setWalRecordIteratorBufferSize(int walRecordIterBuffSize)
Sets property defining how many bytes iterator read from disk (for one reading), during go ahead wal.- Parameters:
walRecordIterBuffSize- Wal record iterator buffer size.- Returns:
thisfor chaining.
-
isAlwaysWriteFullPages
public boolean isAlwaysWriteFullPages()
- Returns:
- Flag that enforces writing full page to WAL on every change (instead of delta record). Can be used for debugging purposes: every version of page will be present in WAL. Note that WAL will take several times more space in this mode.
-
setAlwaysWriteFullPages
public DataStorageConfiguration setAlwaysWriteFullPages(boolean alwaysWriteFullPages)
Sets flag that enforces writing full page to WAL on every change (instead of delta record). Can be used for debugging purposes: every version of page will be present in WAL. Note that WAL will take several times more space in this mode.- Parameters:
alwaysWriteFullPages- Always write full pages flag.- Returns:
thisfor chaining.
-
getFileIOFactory
public org.apache.ignite.internal.processors.cache.persistence.file.FileIOFactory getFileIOFactory()
Factory to provide implementation of FileIO interface which is used for data storage files read/write operations- Returns:
- File I/O factory
-
setFileIOFactory
public DataStorageConfiguration setFileIOFactory(org.apache.ignite.internal.processors.cache.persistence.file.FileIOFactory fileIOFactory)
Sets factory to provide implementation of FileIO interface which is used for data storage files read/write operations- Parameters:
fileIOFactory- File I/O factory- Returns:
thisfor chaining.
-
setWalAutoArchiveAfterInactivity
public DataStorageConfiguration setWalAutoArchiveAfterInactivity(long walAutoArchiveAfterInactivity)
Note: setting this value withWALMode.FSYNCmay generate file size overhead for WAL segments in case grid is used rarely.- Parameters:
walAutoArchiveAfterInactivity- time in millis to run auto archiving segment (even if incomplete) after last record logging.
Positive value enables incomplete segment archiving after timeout (inactivity).
Zero or negative value disables auto archiving.- Returns:
- current configuration instance for chaining
-
getWalAutoArchiveAfterInactivity
public long getWalAutoArchiveAfterInactivity()
- Returns:
- time in millis to run auto archiving WAL segment (even if incomplete) after last record log
-
setWalForceArchiveTimeout
public DataStorageConfiguration setWalForceArchiveTimeout(long walForceArchiveTimeout)
- Parameters:
walForceArchiveTimeout- Time in millis after last data change logged to run segment auto archivation (even if incomplete).
Positive value enables incomplete segment archivation after timeout.
Zero or negative value disables forcefull auto archiving.- Returns:
- current configuration instance for chaining.
-
getWalForceArchiveTimeout
public long getWalForceArchiveTimeout()
- Returns:
- time interval (in milliseconds) after last log of data change for force archiving of incompletely WAL segment.
-
getCheckpointWriteOrder
public CheckpointWriteOrder getCheckpointWriteOrder()
This property defines order of writing pages to disk storage during checkpoint.- Returns:
- Checkpoint write order.
-
setCheckpointWriteOrder
public DataStorageConfiguration setCheckpointWriteOrder(CheckpointWriteOrder checkpointWriteOrder)
This property defines order of writing pages to disk storage during checkpoint.- Parameters:
checkpointWriteOrder- Checkpoint write order.- Returns:
thisfor chaining.
-
isWalCompactionEnabled
public boolean isWalCompactionEnabled()
- Returns:
- Flag indicating whether WAL compaction is enabled.
-
setWalCompactionEnabled
public DataStorageConfiguration setWalCompactionEnabled(boolean walCompactionEnabled)
Sets flag indicating whether WAL compaction is enabled.- Parameters:
walCompactionEnabled- Wal compaction enabled flag.- Returns:
thisfor chaining.
-
getWalCompactionLevel
public int getWalCompactionLevel()
- Returns:
- ZIP level to WAL compaction.
-
setWalCompactionLevel
public void setWalCompactionLevel(int walCompactionLevel)
- Parameters:
walCompactionLevel- New ZIP level to WAL compaction.
-
getCheckpointReadLockTimeout
public Long getCheckpointReadLockTimeout()
Returns timeout for checkpoint read lock acquisition.- Returns:
- Returns timeout for checkpoint read lock acquisition in milliseconds.
- See Also:
setCheckpointReadLockTimeout(long)
-
setCheckpointReadLockTimeout
public DataStorageConfiguration setCheckpointReadLockTimeout(long checkpointReadLockTimeout)
Sets timeout for checkpoint read lock acquisition.When any thread cannot acquire checkpoint read lock in this time, then critical failure handler is being called.
- Parameters:
checkpointReadLockTimeout- Timeout for checkpoint read lock acquisition in milliseconds.- Returns:
thisfor chaining.
-
getWalPageCompression
public DiskPageCompression getWalPageCompression()
Gets compression algorithm for WAL page snapshot records.- Returns:
- Page compression algorithm.
-
setWalPageCompression
public DataStorageConfiguration setWalPageCompression(DiskPageCompression walPageCompression)
Sets compression algorithm for WAL page snapshot records.- Parameters:
walPageCompression- Page compression algorithm.- Returns:
thisfor chaining.
-
getWalPageCompressionLevel
public Integer getWalPageCompressionLevel()
Getsalgorithmspecific WAL page compression level.- Returns:
- WAL page snapshots compression level or
nullfor default.
-
setWalPageCompressionLevel
public DataStorageConfiguration setWalPageCompressionLevel(Integer walPageCompressionLevel)
Setsalgorithmspecific page compression level.
-
getEncryptionConfiguration
public EncryptionConfiguration getEncryptionConfiguration()
Gets encryyption configuration.- Returns:
- Encryption configuration.
-
setEncryptionConfiguration
public DataStorageConfiguration setEncryptionConfiguration(EncryptionConfiguration encCfg)
Sets encryption configuration.- Parameters:
encCfg- Encryption configuration.- Returns:
thisfor chaining.
-
setDefaultWarmUpConfiguration
public DataStorageConfiguration setDefaultWarmUpConfiguration(@Nullable @Nullable WarmUpConfiguration dfltWarmUpCfg)
Sets default warm-up configuration.- Parameters:
dfltWarmUpCfg- Default warm-up configuration. To assign a special warm-up configuration for a data region, useDataRegionConfiguration.setWarmUpConfiguration(org.apache.ignite.configuration.WarmUpConfiguration).- Returns:
thisfor chaining.
-
getDefaultWarmUpConfiguration
@Nullable public @Nullable WarmUpConfiguration getDefaultWarmUpConfiguration()
Gets default warm-up configuration.- Returns:
- Default warm-up configuration.
-
setDefragmentationThreadPoolSize
public DataStorageConfiguration setDefragmentationThreadPoolSize(int defragmentationThreadPoolSize)
Sets maximum number of partitions which can be defragmented at the same time.- Parameters:
defragmentationThreadPoolSize- Maximum number of partitions which can be defragmented at the same time. Default isDFLT_DEFRAGMENTATION_THREAD_POOL_SIZE.- Returns:
thisfor chaining.
-
getDefragmentationThreadPoolSize
public int getDefragmentationThreadPoolSize()
Maximum number of partitions which can be defragmented at the same time.- Returns:
- Thread pool size for defragmentation.
-
getMinWalArchiveSize
public long getMinWalArchiveSize()
Gets a min allowed size(in bytes) of WAL archives.- Returns:
- min size(in bytes) of WAL archive directory(greater than 0, or
HALF_MAX_WAL_ARCHIVE_SIZE).
-
setMinWalArchiveSize
public DataStorageConfiguration setMinWalArchiveSize(long walArchiveMinSize)
Sets a min allowed size(in bytes) of WAL archives. If value is not positive,HALF_MAX_WAL_ARCHIVE_SIZEwill be used.- Parameters:
walArchiveMinSize- min size(in bytes) of WAL archive directory.- Returns:
thisfor chaining.
-
getMemoryAllocator
@Nullable public @Nullable MemoryAllocator getMemoryAllocator()
- Returns:
- Memory allocator instance.
-
setMemoryAllocator
public DataStorageConfiguration setMemoryAllocator(MemoryAllocator allocator)
Sets default memory allocator for all memory regions. If not specified, default, based onUnsafeallocator will be used. Allocator can be overrided for data region usingDataRegionConfiguration.setMemoryAllocator(MemoryAllocator)- Parameters:
allocator- Memory allocator instance.- Returns:
thisfor chaining.
-
-