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 toDataRegionConfiguration
documentation.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 String
DFLT_BINARY_METADATA_PATH
Default path (relative to working directory) of binary metadata folderstatic long
DFLT_CDC_WAL_DIRECTORY_MAX_SIZE
Default change data capture directory maximum size.static int
DFLT_CHECKPOINT_FREQ
static int
DFLT_CHECKPOINT_THREADS
Default number of checkpoint threads.static CheckpointWriteOrder
DFLT_CHECKPOINT_WRITE_ORDER
Default checkpoint write order.static String
DFLT_DATA_REG_DEFAULT_NAME
This name is assigned to default Dataregion if no user-defined default MemPlc is specifiedstatic long
DFLT_DATA_REGION_INITIAL_SIZE
Default data region start size (256 MB).static long
DFLT_DATA_REGION_MAX_SIZE
Default data region's size is 20% of physical memory available on current machine.static int
DFLT_DEFRAGMENTATION_THREAD_POOL_SIZE
Default defragmentation thread pool size.static int
DFLT_LOCK_WAIT_TIME
Lock default wait time, 10 sec.static String
DFLT_MARSHALLER_PATH
Default path (relative to working directory) of marshaller mappings folderstatic boolean
DFLT_METRICS_ENABLED
Deprecated.Will be removed in upcoming releases.static int
DFLT_PAGE_SIZE
Default memory page size.static int
DFLT_RATE_TIME_INTERVAL_MILLIS
Default length of interval over which rate-based metric is calculated.static int
DFLT_SUB_INTERVALS
Default amount of sub intervals to calculate rate-based metric.static int
DFLT_TLB_SIZE
Default thread local buffer size.static boolean
DFLT_USE_ASYNC_FILE_IO_FACTORY
static boolean
DFLT_WAL_ALWAYS_WRITE_FULL_PAGES
Default wal always write full pages.static long
DFLT_WAL_ARCHIVE_MAX_SIZE
Default max size of WAL archive files, in bytes.static String
DFLT_WAL_ARCHIVE_PATH
Default wal archive directory.static int
DFLT_WAL_BUFF_SIZE
Default thread local buffer size.static String
DFLT_WAL_CDC_PATH
Default change data capture directory.static boolean
DFLT_WAL_COMPACTION_ENABLED
Default wal compaction enabled.static int
DFLT_WAL_COMPACTION_LEVEL
Default wal compaction level.static int
DFLT_WAL_FLUSH_FREQ
Default Wal flush frequency.static int
DFLT_WAL_FSYNC_DELAY
Default wal fsync delay.static int
DFLT_WAL_HISTORY_SIZE
Default number of checkpoints to be kept in WAL after checkpoint is finishedstatic WALMode
DFLT_WAL_MODE
Default wal mode.static DiskPageCompression
DFLT_WAL_PAGE_COMPRESSION
Default compression algorithm for WAL page snapshot records.static String
DFLT_WAL_PATH
Default wal directory.static int
DFLT_WAL_RECORD_ITERATOR_BUFFER_SIZE
Default wal record iterator buffer size.static int
DFLT_WAL_SEGMENT_SIZE
Default WAL file segment size, 64MBytesstatic int
DFLT_WAL_SEGMENTS
static boolean
DFLT_WRITE_THROTTLING_ENABLED
Default write throttling enabled.static long
HALF_MAX_WAL_ARCHIVE_SIZE
Value used to indicate the use of half of thegetMaxWalArchiveSize()
.static int
MAX_PAGE_SIZE
Max memory page size.static int
MIN_PAGE_SIZE
Min memory page size.static long
UNLIMITED_WAL_ARCHIVE
Value 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 long
getCdcWalDirectoryMaxSize()
Sets theCDC directory
maximum size in bytes.String
getCdcWalPath()
Gets a path to the CDC directory.long
getCheckpointFrequency()
Gets checkpoint frequency.Long
getCheckpointReadLockTimeout()
Returns timeout for checkpoint read lock acquisition.int
getCheckpointThreads()
Gets a number of threads to use for the checkpoint purposes.CheckpointWriteOrder
getCheckpointWriteOrder()
This property defines order of writing pages to disk storage during checkpoint.int
getConcurrencyLevel()
Returns the number of concurrent segments in Ignite internal page mapping tables.DataRegionConfiguration[]
getDataRegionConfigurations()
Gets an array of all data regions configured.DataRegionConfiguration
getDefaultDataRegionConfiguration()
@Nullable WarmUpConfiguration
getDefaultWarmUpConfiguration()
Gets default warm-up configuration.int
getDefragmentationThreadPoolSize()
Maximum number of partitions which can be defragmented at the same time.EncryptionConfiguration
getEncryptionConfiguration()
Gets encryyption configuration.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 operationslong
getLockWaitTime()
Timeout in milliseconds to wait when acquiring persistence store lock file before failing the local node.long
getMaxWalArchiveSize()
Gets a max allowed size(in bytes) of WAL archives.@Nullable MemoryAllocator
getMemoryAllocator()
long
getMetricsRateTimeInterval()
Deprecated.UseMetricsMxBean.configureHitRateMetric(String, long)
instead.int
getMetricsSubIntervalCount()
Deprecated.UseMetricsMxBean.configureHitRateMetric(String, long)
instead.long
getMinWalArchiveSize()
Gets a min allowed size(in bytes) of WAL archives.int
getPageSize()
The page memory consists of one or more expandable data regions defined byDataRegionConfiguration
.String
getStoragePath()
SystemDataRegionConfiguration
getSystemDataRegionConfiguration()
Configuration of system data region.long
getSystemRegionInitialSize()
Deprecated.long
getSystemRegionMaxSize()
Deprecated.String
getWalArchivePath()
Gets a path to the WAL archive directory.long
getWalAutoArchiveAfterInactivity()
int
getWalBufferSize()
Property defines size(in bytes) of WAL buffer.int
getWalCompactionLevel()
long
getWalFlushFrequency()
This property define how often WAL will be fsync-ed inBACKGROUND
mode.long
getWalForceArchiveTimeout()
long
getWalFsyncDelayNanos()
int
getWalHistorySize()
Deprecated.Instead of walHistorySize use maxWalArchiveSize for manage of archive size.WALMode
getWalMode()
Property that defines behavior of wal fsync.DiskPageCompression
getWalPageCompression()
Gets compression algorithm for WAL page snapshot records.Integer
getWalPageCompressionLevel()
Getsalgorithm
specific WAL page compression level.String
getWalPath()
Gets a path to the directory where WAL is stored.int
getWalRecordIteratorBufferSize()
Property define how many bytes iterator read from disk (for one reading), during go ahead wal.int
getWalSegments()
Gets a number of WAL segments to work with.int
getWalSegmentSize()
Gets size(in bytes) of a WAL segment.int
getWalThreadLocalBufferSize()
Property for size of thread local buffer.boolean
isAlwaysWriteFullPages()
boolean
isMetricsEnabled()
Deprecated.Will be removed in upcoming releases.boolean
isWalCompactionEnabled()
boolean
isWalHistorySizeParameterUsed()
If WalHistorySize was set by user will use this parameter for compatibility.boolean
isWriteThrottlingEnabled()
DataStorageConfiguration
setAlwaysWriteFullPages(boolean alwaysWriteFullPages)
Sets flag that enforces writing full page to WAL on every change (instead of delta record).DataStorageConfiguration
setCdcWalDirectoryMaxSize(long cdcWalDirMaxSize)
Sets the CDC directory maximum size in bytes.DataStorageConfiguration
setCdcWalPath(String cdcWalPath)
Sets a path for the CDC directory.DataStorageConfiguration
setCheckpointFrequency(long checkpointFreq)
Sets the checkpoint frequency which is a minimal interval when the dirty pages will be written to the Persistent Store.DataStorageConfiguration
setCheckpointReadLockTimeout(long checkpointReadLockTimeout)
Sets timeout for checkpoint read lock acquisition.DataStorageConfiguration
setCheckpointThreads(int checkpointThreads)
Sets a number of threads to use for the checkpoint purposes.DataStorageConfiguration
setCheckpointWriteOrder(CheckpointWriteOrder checkpointWriteOrder)
This property defines order of writing pages to disk storage during checkpoint.DataStorageConfiguration
setConcurrencyLevel(int concLvl)
Sets the number of concurrent segments in Ignite internal page mapping tables.DataStorageConfiguration
setDataRegionConfigurations(DataRegionConfiguration... dataRegionConfigurations)
Sets data regions configurations.DataStorageConfiguration
setDefaultDataRegionConfiguration(DataRegionConfiguration dfltDataRegConf)
Overrides configuration of default data region which has been created automatically.DataStorageConfiguration
setDefaultWarmUpConfiguration(@Nullable WarmUpConfiguration dfltWarmUpCfg)
Sets default warm-up configuration.DataStorageConfiguration
setDefragmentationThreadPoolSize(int defragmentationThreadPoolSize)
Sets maximum number of partitions which can be defragmented at the same time.DataStorageConfiguration
setEncryptionConfiguration(EncryptionConfiguration encCfg)
Sets encryption configuration.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 operationsDataStorageConfiguration
setLockWaitTime(long lockWaitTime)
Timeout in milliseconds to wait when acquiring persistence store lock file before failing the local node.DataStorageConfiguration
setMaxWalArchiveSize(long walArchiveMaxSize)
Sets a max allowed size(in bytes) of WAL archives.DataStorageConfiguration
setMemoryAllocator(MemoryAllocator allocator)
Sets default memory allocator for all memory regions.DataStorageConfiguration
setMetricsEnabled(boolean metricsEnabled)
Deprecated.Will be removed in upcoming releases.DataStorageConfiguration
setMetricsRateTimeInterval(long metricsRateTimeInterval)
Deprecated.UseMetricsMxBean.configureHitRateMetric(String, long)
instead.DataStorageConfiguration
setMetricsSubIntervalCount(int metricsSubIntervalCnt)
Deprecated.UseMetricsMxBean.configureHitRateMetric(String, long)
instead.DataStorageConfiguration
setMinWalArchiveSize(long walArchiveMinSize)
Sets a min allowed size(in bytes) of WAL archives.DataStorageConfiguration
setPageSize(int pageSize)
Changes the page size.DataStorageConfiguration
setStoragePath(String persistenceStorePath)
Sets a path to the root directory where the Persistent Store will persist data and indexes.DataStorageConfiguration
setSystemDataRegionConfiguration(SystemDataRegionConfiguration sysDataRegConf)
Overrides configuration of system data region which has been created automatically.DataStorageConfiguration
setSystemRegionInitialSize(long sysRegionInitSize)
Deprecated.DataStorageConfiguration
setSystemRegionMaxSize(long sysRegionMaxSize)
Deprecated.DataStorageConfiguration
setWalArchivePath(String walArchivePath)
Sets a path for the WAL archive directory.DataStorageConfiguration
setWalAutoArchiveAfterInactivity(long walAutoArchiveAfterInactivity)
Note: setting this value withWALMode.FSYNC
may generate file size overhead for WAL segments in case grid is used rarely.DataStorageConfiguration
setWalBufferSize(int walBuffSize)
Property defines size(in bytes) of WAL buffer.DataStorageConfiguration
setWalCompactionEnabled(boolean walCompactionEnabled)
Sets flag indicating whether WAL compaction is enabled.void
setWalCompactionLevel(int walCompactionLevel)
DataStorageConfiguration
setWalFlushFrequency(long walFlushFreq)
This property define how often WAL will be fsync-ed inBACKGROUND
mode.DataStorageConfiguration
setWalForceArchiveTimeout(long walForceArchiveTimeout)
DataStorageConfiguration
setWalFsyncDelayNanos(long walFsyncDelayNanos)
Sets property that allows to trade latency for throughput inWALMode.FSYNC
mode.DataStorageConfiguration
setWalHistorySize(int walHistSize)
Deprecated.Instead of walHistorySize use maxWalArchiveSize for manage of archive size.DataStorageConfiguration
setWalMode(WALMode walMode)
Sets property that defines behavior of wal fsync.DataStorageConfiguration
setWalPageCompression(DiskPageCompression walPageCompression)
Sets compression algorithm for WAL page snapshot records.DataStorageConfiguration
setWalPageCompressionLevel(Integer walPageCompressionLevel)
Setsalgorithm
specific page compression level.DataStorageConfiguration
setWalPath(String walStorePath)
Sets a path to the directory where WAL is stored.DataStorageConfiguration
setWalRecordIteratorBufferSize(int walRecordIterBuffSize)
Sets property defining how many bytes iterator read from disk (for one reading), during go ahead wal.DataStorageConfiguration
setWalSegments(int walSegments)
Sets a number of WAL segments to work with.DataStorageConfiguration
setWalSegmentSize(int walSegmentSize)
Sets size(in bytes) of a WAL segment.DataStorageConfiguration
setWalThreadLocalBufferSize(int walTlbSize)
Sets size of thread local buffer.DataStorageConfiguration
setWriteThrottlingEnabled(boolean writeThrottlingEnabled)
Sets flag indicating whether write throttling is enabled.String
toString()
-
-
-
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:
this
for 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:
this
for 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
,8192
and16384
. If value is not set (or zero),DFLT_PAGE_SIZE
(4096
) will be used.- Returns:
this
for 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:
this
for 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:
this
for 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:
this
for 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:
this
for 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:
this
for 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_FREQ
will be used.- Parameters:
checkpointFreq
- Checkpoint frequency in milliseconds.- Returns:
this
for 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:
this
for 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:
this
for 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:
this
for chaining.- See Also:
setMaxWalArchiveSize(long)
-
isWalHistorySizeParameterUsed
public boolean isWalHistorySizeParameterUsed()
If WalHistorySize was set by user will use this parameter for compatibility.- Returns:
true
if 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_ARCHIVE
if 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_SIZE
will be used.- Parameters:
walArchiveMaxSize
- max size(in bytes) of WAL archive directory.- Returns:
this
for 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:
this
for 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_SIZE
will be used.- Parameters:
walSegmentSize
- WAL segment size(in bytes). Value must be between 512Kb and 2Gb.- Returns:
This
for 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:
this
for 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:
this
for 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:
this
for chaining.
-
getCdcWalDirectoryMaxSize
public long getCdcWalDirectoryMaxSize()
Sets theCDC directory
maximum 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 thedirectory
exceeds 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:
this
for 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:
this
for 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:
this
for 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:
this
for 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:
this
for chaining.
-
getWalMode
public WALMode getWalMode()
Property that defines behavior of wal fsync. Different type provides different guarantees for consistency. SeeWALMode
for 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. SeeWALMode
for details.- Parameters:
walMode
- Wal mode.- Returns:
this
for 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:
this
for 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:
this
for chaining.
-
getWalFlushFrequency
public long getWalFlushFrequency()
This property define how often WAL will be fsync-ed inBACKGROUND
mode. 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 inBACKGROUND
mode. Ignored for all other WAL modes.- Parameters:
walFlushFreq
- WAL flush frequency, in milliseconds.- Returns:
this
for chaining.
-
getWalFsyncDelayNanos
public long getWalFsyncDelayNanos()
- Returns:
- Property that allows to trade latency for throughput in
WALMode.FSYNC
mode. 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.FSYNC
mode. 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:
this
for 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:
this
for 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:
this
for 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:
this
for chaining.
-
setWalAutoArchiveAfterInactivity
public DataStorageConfiguration setWalAutoArchiveAfterInactivity(long walAutoArchiveAfterInactivity)
Note: setting this value withWALMode.FSYNC
may 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:
this
for 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:
this
for 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:
this
for 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:
this
for chaining.
-
getWalPageCompressionLevel
public Integer getWalPageCompressionLevel()
Getsalgorithm
specific WAL page compression level.- Returns:
- WAL page snapshots compression level or
null
for default.
-
setWalPageCompressionLevel
public DataStorageConfiguration setWalPageCompressionLevel(Integer walPageCompressionLevel)
Setsalgorithm
specific 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:
this
for 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:
this
for 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:
this
for 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_SIZE
will be used.- Parameters:
walArchiveMinSize
- min size(in bytes) of WAL archive directory.- Returns:
this
for 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 onUnsafe
allocator will be used. Allocator can be overrided for data region usingDataRegionConfiguration.setMemoryAllocator(MemoryAllocator)
- Parameters:
allocator
- Memory allocator instance.- Returns:
this
for chaining.
-
-