Class DataRegionConfiguration
Defines custom data region configuration for Apache Ignite page memory (see DataStorageConfiguration).
For each configured data region Apache Ignite instantiates respective memory regions with different parameters like maximum size, eviction policy, swapping options, etc. An Apache Ignite cache can be mapped to a particular region using DataRegionName method.
Inheritance
Namespace: Apache.Ignite.Core.Configuration
Assembly: Apache.Ignite.Core.dll
Syntax
public class DataRegionConfiguration : object
Constructors
DataRegionConfiguration()
Initializes a new instance of the DataRegionConfiguration class.
Declaration
public DataRegionConfiguration()
Fields
DefaultEmptyPagesPoolSize
The default empty pages pool size.
Declaration
public const int DefaultEmptyPagesPoolSize = null
Field Value
Type | Description |
---|---|
System.Int32 |
DefaultEvictionThreshold
The default eviction threshold.
Declaration
public const double DefaultEvictionThreshold = null
Field Value
Type | Description |
---|---|
System.Double |
DefaultInitialSize
The default initial size.
Declaration
public const long DefaultInitialSize = null
Field Value
Type | Description |
---|---|
System.Int64 |
DefaultLazyMemoryAllocation
Default value for LazyMemoryAllocation.
Declaration
public const bool DefaultLazyMemoryAllocation = null
Field Value
Type | Description |
---|---|
System.Boolean |
DefaultMaxSize
The default maximum size, equals to 20% of total RAM.
Declaration
public static readonly long DefaultMaxSize
Field Value
Type | Description |
---|---|
System.Int64 |
DefaultMetricsRateTimeInterval
The default rate time interval.
Declaration
public static readonly TimeSpan DefaultMetricsRateTimeInterval
Field Value
Type | Description |
---|---|
TimeSpan |
DefaultMetricsSubIntervalCount
The default sub intervals.
Declaration
public const int DefaultMetricsSubIntervalCount = null
Field Value
Type | Description |
---|---|
System.Int32 |
DefaultPersistenceEnabled
Default value for PersistenceEnabled.
Declaration
public const bool DefaultPersistenceEnabled = null
Field Value
Type | Description |
---|---|
System.Boolean |
Properties
CheckpointPageBufferSize
Gets or sets the size of the checkpointing page buffer.
Default is 0
: Ignite will choose buffer size automatically.
Declaration
public long CheckpointPageBufferSize { get; set; }
Property Value
Type | Description |
---|---|
System.Int64 |
EmptyPagesPoolSize
Gets or sets the minimal number of empty pages to be present in reuse lists for this data region. This parameter ensures that Ignite will be able to successfully evict old data entries when the size of (key, value) pair is slightly larger than page size / 2. Increase this parameter if cache can contain very big entries (total size of pages in this pool should be enough to contain largest cache entry).
Declaration
public int EmptyPagesPoolSize { get; set; }
Property Value
Type | Description |
---|---|
System.Int32 |
EvictionThreshold
Gets or sets the threshold for memory pages eviction initiation. For instance, if the threshold is 0.9 it means that the page memory will start the eviction only after 90% of the memory region is occupied.
Declaration
public double EvictionThreshold { get; set; }
Property Value
Type | Description |
---|---|
System.Double |
InitialSize
Gets or sets initial memory region size. When the used memory size exceeds this value, new chunks of memory will be allocated.
Declaration
public long InitialSize { get; set; }
Property Value
Type | Description |
---|---|
System.Int64 |
LazyMemoryAllocation
Gets or sets the lazy memory allocation flag.
Declaration
public bool LazyMemoryAllocation { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
MaxSize
Sets maximum memory region size. The total size should not be less than 10 MB due to internal data structures overhead.
Declaration
public long MaxSize { get; set; }
Property Value
Type | Description |
---|---|
System.Int64 |
MetricsEnabled
Gets or sets a value indicating whether memory metrics should be enabled.
Metrics can be retrieved with GetDataRegionMetrics() method.
Declaration
public bool MetricsEnabled { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
MetricsRateTimeInterval
Gets or sets the rate time interval for AllocationRate and EvictionRate monitoring purposes.
For instance, after setting the interval to 60 seconds, subsequent calls to AllocationRate will return average allocation rate (pages per second) for the last minute.
Declaration
public TimeSpan MetricsRateTimeInterval { get; set; }
Property Value
Type | Description |
---|---|
TimeSpan |
MetricsSubIntervalCount
Gets or sets the number of sub intervals to split MetricsRateTimeInterval into to calculate AllocationRate and EvictionRate.
Bigger value results in more accurate metrics.
Declaration
public int MetricsSubIntervalCount { get; set; }
Property Value
Type | Description |
---|---|
System.Int32 |
Name
Gets or sets the data region name.
Declaration
public string Name { get; set; }
Property Value
Type | Description |
---|---|
System.String |
PageEvictionMode
Gets or sets the page eviction mode. If Disabled is used (default) then an out of memory exception will be thrown if the memory region usage goes beyond MaxSize.
Declaration
public DataPageEvictionMode PageEvictionMode { get; set; }
Property Value
Type | Description |
---|---|
DataPageEvictionMode |
PersistenceEnabled
Gets or sets a value indicating whether disk persistence is enabled for this region. Default is DefaultPersistenceEnabled.
Declaration
public bool PersistenceEnabled { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
SwapPath
Gets or sets the the path to the directory for memory-mapped files.
Null for no swap.
Declaration
public string SwapPath { get; set; }
Property Value
Type | Description |
---|---|
System.String |