IGNITE-6748 Moved checkpoint buffer size to DataRegionConfiguration
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/8266a981 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/8266a981 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/8266a981 Branch: refs/heads/ignite-6748 Commit: 8266a98127d000fc4ec3ee71c05ed9671e90f70e Parents: 2d0e91e Author: Alexey Goncharuk <[email protected]> Authored: Thu Oct 26 10:16:35 2017 +0300 Committer: Alexey Goncharuk <[email protected]> Committed: Thu Oct 26 10:16:35 2017 +0300 ---------------------------------------------------------------------- .../configuration/DataRegionConfiguration.java | 34 +++++++++- .../configuration/DataStorageConfiguration.java | 29 -------- .../MemoryPolicyConfiguration.java | 23 ------- .../org/apache/ignite/internal/IgnitionEx.java | 13 ++-- .../discovery/GridDiscoveryManager.java | 8 ++- .../GridCacheDatabaseSharedManager.java | 71 +++++++------------- .../utils/PlatformConfigurationUtils.java | 6 +- .../node/VisorDataRegionConfiguration.java | 13 ++++ .../node/VisorDataStorageConfiguration.java | 3 +- .../node/VisorPersistentStoreConfiguration.java | 1 - .../persistence/db/wal/IgnitePdsWalTlbTest.java | 7 +- .../pagemem/PagesWriteThrottleSandboxTest.java | 2 +- .../pagemem/PagesWriteThrottleSmokeTest.java | 2 +- .../Config/full-config.xml | 6 +- .../IgniteConfigurationSerializerTest.cs | 6 +- .../IgniteConfigurationTest.cs | 6 +- .../Configuration/DataRegionConfiguration.cs | 8 +++ .../Configuration/DataStorageConfiguration.cs | 9 --- .../IgniteConfigurationSection.xsd | 15 +++-- modules/web-console/backend/app/mongo.js | 6 +- .../generator/ConfigurationGenerator.js | 5 +- .../generator/defaults/Cluster.service.js | 3 +- .../configuration/clusters/data-storage.pug | 6 ++ 23 files changed, 134 insertions(+), 148 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/8266a981/modules/core/src/main/java/org/apache/ignite/configuration/DataRegionConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/configuration/DataRegionConfiguration.java b/modules/core/src/main/java/org/apache/ignite/configuration/DataRegionConfiguration.java index 50edf5c..4ae87e3 100644 --- a/modules/core/src/main/java/org/apache/ignite/configuration/DataRegionConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/configuration/DataRegionConfiguration.java @@ -129,6 +129,9 @@ public final class DataRegionConfiguration implements Serializable { */ private boolean persistenceEnabled = false; + /** Temporary buffer size for checkpoints in bytes. */ + private long checkpointPageBufSize; + /** * Gets data region name. * @@ -212,11 +215,11 @@ public final class DataRegionConfiguration implements Serializable { /** * Sets a path to the memory-mapped files. * - * @param swapFilePath A Path to the memory mapped file. + * @param swapPath A Path to the memory mapped file. * @return {@code this} for chaining. */ - public DataRegionConfiguration setSwapPath(String swapFilePath) { - this.swapPath = swapFilePath; + public DataRegionConfiguration setSwapPath(String swapPath) { + this.swapPath = swapPath; return this; } @@ -403,4 +406,29 @@ public final class DataRegionConfiguration implements Serializable { return this; } + + /** + * Gets amount of memory allocated for a checkpoint temporary buffer. + * + * @return Checkpoint page buffer size in bytes or {@code 0} for Ignite + * to choose the buffer size automatically. + */ + public long getCheckpointPageBufferSize() { + return checkpointPageBufSize; + } + + /** + * Sets amount of memory allocated for the checkpoint temporary buffer. The buffer is used to create temporary + * copies of pages that are being written to disk and being update in parallel while the checkpoint is in + * progress. + * + * @param checkpointPageBufSize Checkpoint page buffer size in bytes or {@code 0} for Ignite to + * choose the buffer size automatically. + * @return {@code this} for chaining. + */ + public DataRegionConfiguration setCheckpointPageBufferSize(long checkpointPageBufSize) { + this.checkpointPageBufSize = checkpointPageBufSize; + + return this; + } } http://git-wip-us.apache.org/repos/asf/ignite/blob/8266a981/modules/core/src/main/java/org/apache/ignite/configuration/DataStorageConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/configuration/DataStorageConfiguration.java b/modules/core/src/main/java/org/apache/ignite/configuration/DataStorageConfiguration.java index bd314ab..8202ef8 100644 --- a/modules/core/src/main/java/org/apache/ignite/configuration/DataStorageConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/configuration/DataStorageConfiguration.java @@ -173,9 +173,6 @@ public class DataStorageConfiguration implements Serializable { private long lockWaitTime = DFLT_LOCK_WAIT_TIME; /** */ - private long checkpointPageBufSize; - - /** */ private int checkpointThreads = DFLT_CHECKPOINT_THREADS; /** Checkpoint write order. */ @@ -425,32 +422,6 @@ public class DataStorageConfiguration implements Serializable { } /** - * Gets amount of memory allocated for a checkpoint temporary buffer. - * - * @return Checkpoint page buffer size in bytes or {@code 0} for Ignite - * to choose the buffer size automatically. - */ - public long getCheckpointPageBufferSize() { - return checkpointPageBufSize; - } - - /** - * Sets amount of memory allocated for the checkpoint temporary buffer. The buffer is used to create temporary - * copies of pages that are being written to disk and being update in parallel while the checkpoint is in - * progress. - * - * @param checkpointPageBufSize Checkpoint page buffer size in bytes or {@code 0} for Ignite to - * choose the buffer size automatically. - * @return {@code this} for chaining. - */ - public DataStorageConfiguration setCheckpointPageBufferSize(long checkpointPageBufSize) { - this.checkpointPageBufSize = checkpointPageBufSize; - - return this; - } - - - /** * Gets a number of threads to use for the checkpoint purposes. * * @return Number of checkpoint threads. http://git-wip-us.apache.org/repos/asf/ignite/blob/8266a981/modules/core/src/main/java/org/apache/ignite/configuration/MemoryPolicyConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/configuration/MemoryPolicyConfiguration.java b/modules/core/src/main/java/org/apache/ignite/configuration/MemoryPolicyConfiguration.java index efe7ae2..a1a822f 100644 --- a/modules/core/src/main/java/org/apache/ignite/configuration/MemoryPolicyConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/configuration/MemoryPolicyConfiguration.java @@ -124,11 +124,6 @@ public final class MemoryPolicyConfiguration implements Serializable { private long rateTimeInterval = DFLT_RATE_TIME_INTERVAL_MILLIS; /** - * Flag to enable Ignite Native Persistence. - */ - private boolean persistenceEnabled = true; - - /** * Gets memory policy name. * * @return Memory policy name. @@ -320,24 +315,6 @@ public final class MemoryPolicyConfiguration implements Serializable { } /** - * Gets whether Ignite Native Persistence is enabled for this memory policy. - * - * @return Persistence enabled flag. - */ - public boolean isPersistenceEnabled() { - return persistenceEnabled; - } - - /** - * Sets persistence enabled flag. - * - * @param persistenceEnabled Persistence enabled flag. - */ - public void setPersistenceEnabled(boolean persistenceEnabled) { - this.persistenceEnabled = persistenceEnabled; - } - - /** * Gets time interval for {@link MemoryMetrics#getAllocationRate()} * and {@link MemoryMetrics#getEvictionRate()} monitoring purposes. * <p> http://git-wip-us.apache.org/repos/asf/ignite/blob/8266a981/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java b/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java index 36257e2..67c771b 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java @@ -2779,7 +2779,9 @@ public class IgnitionEx { */ private static void convertLegacyDataStorageConfigurationToNew( IgniteConfiguration cfg) throws IgniteCheckedException { - boolean persistenceEnabled = cfg.getPersistentStoreConfiguration() != null; + PersistentStoreConfiguration psCfg = cfg.getPersistentStoreConfiguration(); + + boolean persistenceEnabled = psCfg != null; DataStorageConfiguration dsCfg = new DataStorageConfiguration(); @@ -2814,6 +2816,9 @@ public class IgnitionEx { region.setSwapPath(mpc.getSwapFilePath()); region.setMetricsEnabled(mpc.isMetricsEnabled()); + if (persistenceEnabled) + region.setCheckpointPageBufferSize(psCfg.getCheckpointingPageBufferSize()); + if (mpc.getName() == null) { throw new IgniteCheckedException(new IllegalArgumentException( "User-defined MemoryPolicyConfiguration must have non-null and non-empty name.")); @@ -2829,7 +2834,8 @@ public class IgnitionEx { } if (!optionalDataRegions.isEmpty()) - dsCfg.setDataRegionConfigurations(optionalDataRegions.toArray(new DataRegionConfiguration[optionalDataRegions.size()])); + dsCfg.setDataRegionConfigurations(optionalDataRegions.toArray( + new DataRegionConfiguration[optionalDataRegions.size()])); if (!customDfltPlc) { if (!DFLT_MEM_PLC_DEFAULT_NAME.equals(memCfg.getDefaultMemoryPolicyName())) { @@ -2848,10 +2854,7 @@ public class IgnitionEx { } if (persistenceEnabled) { - PersistentStoreConfiguration psCfg = cfg.getPersistentStoreConfiguration(); - dsCfg.setCheckpointFrequency(psCfg.getCheckpointingFrequency()); - dsCfg.setCheckpointPageBufferSize(psCfg.getCheckpointingPageBufferSize()); dsCfg.setCheckpointThreads(psCfg.getCheckpointingThreads()); dsCfg.setCheckpointWriteOrder(psCfg.getCheckpointWriteOrder()); dsCfg.setFileIOFactory(psCfg.getFileIOFactory()); http://git-wip-us.apache.org/repos/asf/ignite/blob/8266a981/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java index a3b157d..77b0622 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java @@ -1543,14 +1543,16 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> { DataRegionConfiguration[] dataRegions = memCfg.getDataRegionConfigurations(); if (dataRegions != null) { - for (DataRegionConfiguration dataReg : dataRegions) + for (DataRegionConfiguration dataReg : dataRegions) { res += dataReg.getMaxSize(); + + res += GridCacheDatabaseSharedManager.checkpointBufferSize(dataReg); + } } res += memCfg.getDefaultDataRegionConfiguration().getMaxSize(); - // Add persistence (if any). - res += GridCacheDatabaseSharedManager.checkpointBufferSize(ctx.config()); + res += GridCacheDatabaseSharedManager.checkpointBufferSize(memCfg.getDefaultDataRegionConfiguration()); return res; } http://git-wip-us.apache.org/repos/asf/ignite/blob/8266a981/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java index de3b60a..920af17 100755 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/GridCacheDatabaseSharedManager.java @@ -156,8 +156,14 @@ public class GridCacheDatabaseSharedManager extends IgniteCacheDatabaseSharedMan /** */ public static final String IGNITE_PDS_CHECKPOINT_TEST_SKIP_SYNC = "IGNITE_PDS_CHECKPOINT_TEST_SKIP_SYNC"; - /** Default checkpointing page buffer size (may be adjusted by Ignite). */ - public static final Long DFLT_CHECKPOINTING_PAGE_BUFFER_SIZE = 256L * 1024 * 1024; + /** */ + private static final long GB = 1024L * 1024 * 1024; + + /** Minimum checkpointing page buffer size (may be adjusted by Ignite). */ + public static final Long DFLT_MIN_CHECKPOINTING_PAGE_BUFFER_SIZE = GB / 4; + + /** Default minimum checkpointing page buffer size (may be adjusted by Ignite). */ + public static final Long DFLT_MAX_CHECKPOINTING_PAGE_BUFFER_SIZE = 2 * GB; /** Skip sync. */ private final boolean skipSync = IgniteSystemProperties.getBoolean(IGNITE_PDS_CHECKPOINT_TEST_SKIP_SYNC); @@ -249,9 +255,6 @@ public class GridCacheDatabaseSharedManager extends IgniteCacheDatabaseSharedMan private long checkpointFreq; /** */ - private long checkpointPageBufSize; - - /** */ private FilePageStoreManager storeMgr; /** Checkpoint metadata directory ("cp"), contains files with checkpoint start and end */ @@ -408,56 +411,27 @@ public class GridCacheDatabaseSharedManager extends IgniteCacheDatabaseSharedMan 30_000, new LinkedBlockingQueue<Runnable>() ); - - checkpointPageBufSize = checkpointBufferSize(cctx.kernalContext().config()); } /** * Get checkpoint buffer size for the given configuration. * - * @param cfg Configuration. + * @param regCfg Configuration. * @return Checkpoint buffer size. */ - public static long checkpointBufferSize(IgniteConfiguration cfg) { - DataStorageConfiguration persistenceCfg = cfg.getDataStorageConfiguration(); - - if (persistenceCfg == null) + public static long checkpointBufferSize(DataRegionConfiguration regCfg) { + if (!regCfg.isPersistenceEnabled()) return 0L; - long res = persistenceCfg.getCheckpointPageBufferSize(); + long res = regCfg.getCheckpointPageBufferSize(); if (res == 0L) { - res = DFLT_CHECKPOINTING_PAGE_BUFFER_SIZE; - - DataStorageConfiguration memCfg = cfg.getDataStorageConfiguration(); - - assert memCfg != null; - - long totalSize = memCfg.getSystemRegionMaxSize(); - - if (memCfg.getDataRegionConfigurations() == null) - totalSize += DataStorageConfiguration.DFLT_DATA_REGION_MAX_SIZE; - else { - for (DataRegionConfiguration memPlc : memCfg.getDataRegionConfigurations()) { - if (Long.MAX_VALUE - memPlc.getMaxSize() > totalSize) - totalSize += memPlc.getMaxSize(); - else { - totalSize = Long.MAX_VALUE; - - break; - } - } - - assert totalSize > 0; - } - - // Limit the checkpoint page buffer size by 2GB. - long dfltSize = 2 * 1024L * 1024L * 1024L; - - long adjusted = Math.min(totalSize / 4, dfltSize); - - if (res < adjusted) - res = adjusted; + if (regCfg.getMaxSize() < GB) + res = Math.min(DFLT_MIN_CHECKPOINTING_PAGE_BUFFER_SIZE, regCfg.getMaxSize()); + else if (regCfg.getMaxSize() < 8 * GB) + res = regCfg.getMaxSize() / 4; + else + res = DFLT_MAX_CHECKPOINTING_PAGE_BUFFER_SIZE; } return res; @@ -689,13 +663,16 @@ public class GridCacheDatabaseSharedManager extends IgniteCacheDatabaseSharedMan long cacheSize = plcCfg.getMaxSize(); // Checkpoint buffer size can not be greater than cache size, it does not make sense. - long chpBufSize = Math.min(checkpointPageBufSize, cacheSize); + long chpBufSize = checkpointBufferSize(plcCfg); - if (checkpointPageBufSize > cacheSize) + if (chpBufSize > cacheSize) { U.quietAndInfo(log, - "Checkpoint page buffer size is too big, setting to an adjusted cache size [size=" + "Configured checkpoint page buffer size is too big, setting to the max region size [size=" + U.readableSize(cacheSize, false) + ", memPlc=" + plcCfg.getName() + ']'); + chpBufSize = cacheSize; + } + boolean writeThrottlingEnabled = persistenceCfg.isWriteThrottlingEnabled(); if (IgniteSystemProperties.getBoolean(IgniteSystemProperties.IGNITE_OVERRIDE_WRITE_THROTTLING_ENABLED, false)) http://git-wip-us.apache.org/repos/asf/ignite/blob/8266a981/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java index 28b6c60..c1a807c 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java @@ -1668,7 +1668,6 @@ public class PlatformConfigurationUtils { DataStorageConfiguration res = new DataStorageConfiguration() .setStoragePath(in.readString()) .setCheckpointFrequency(in.readLong()) - .setCheckpointPageBufferSize(in.readLong()) .setCheckpointThreads(in.readInt()) .setLockWaitTime((int) in.readLong()) .setWalHistorySize(in.readInt()) @@ -1763,7 +1762,6 @@ public class PlatformConfigurationUtils { w.writeString(cfg.getStoragePath()); w.writeLong(cfg.getCheckpointFrequency()); - w.writeLong(cfg.getCheckpointPageBufferSize()); w.writeInt(cfg.getCheckpointThreads()); w.writeLong(cfg.getLockWaitTime()); w.writeInt(cfg.getWalHistorySize()); @@ -1828,6 +1826,7 @@ public class PlatformConfigurationUtils { w.writeBoolean(cfg.isMetricsEnabled()); w.writeInt(cfg.getMetricsSubIntervalCount()); w.writeLong(cfg.getMetricsRateTimeInterval()); + w.writeLong(cfg.getCheckpointPageBufferSize()); } /** @@ -1849,7 +1848,8 @@ public class PlatformConfigurationUtils { .setEmptyPagesPoolSize(r.readInt()) .setMetricsEnabled(r.readBoolean()) .setMetricsSubIntervalCount(r.readInt()) - .setMetricsRateTimeInterval(r.readLong()); + .setMetricsRateTimeInterval(r.readLong()) + .setCheckpointPageBufferSize(r.readLong()); } /** http://git-wip-us.apache.org/repos/asf/ignite/blob/8266a981/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorDataRegionConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorDataRegionConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorDataRegionConfiguration.java index 394e294..179e789 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorDataRegionConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorDataRegionConfiguration.java @@ -68,6 +68,9 @@ public class VisorDataRegionConfiguration extends VisorDataTransferObject { /** Enable Ignite Native Persistence. */ private boolean persistenceEnabled; + /** Temporary buffer size for checkpoints in bytes. */ + private long checkpointPageBufSize; + /** * Default constructor. */ @@ -94,6 +97,7 @@ public class VisorDataRegionConfiguration extends VisorDataTransferObject { metricsSubIntervalCount = plc.getMetricsSubIntervalCount(); metricsRateTimeInterval = plc.getMetricsRateTimeInterval(); persistenceEnabled = plc.isPersistenceEnabled(); + checkpointPageBufSize = plc.getCheckpointPageBufferSize(); } /** @@ -188,6 +192,13 @@ public class VisorDataRegionConfiguration extends VisorDataTransferObject { return persistenceEnabled; } + /** + * @return Amount of memory allocated for a checkpoint temporary buffer in bytes. + */ + public long getCheckpointPageBufferSize() { + return checkpointPageBufSize; + } + /** {@inheritDoc} */ @Override protected void writeExternalData(ObjectOutput out) throws IOException { U.writeString(out, name); @@ -201,6 +212,7 @@ public class VisorDataRegionConfiguration extends VisorDataTransferObject { out.writeInt(metricsSubIntervalCount); out.writeLong(metricsRateTimeInterval); out.writeBoolean(persistenceEnabled); + out.writeLong(checkpointPageBufSize); } /** {@inheritDoc} */ @@ -216,6 +228,7 @@ public class VisorDataRegionConfiguration extends VisorDataTransferObject { metricsSubIntervalCount = in.readInt(); metricsRateTimeInterval = in.readLong(); persistenceEnabled = in.readBoolean(); + checkpointPageBufSize = in.readLong(); } /** {@inheritDoc} */ http://git-wip-us.apache.org/repos/asf/ignite/blob/8266a981/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorDataStorageConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorDataStorageConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorDataStorageConfiguration.java index 78bf1c5..8470fe1 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorDataStorageConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorDataStorageConfiguration.java @@ -155,7 +155,6 @@ public class VisorDataStorageConfiguration extends VisorDataTransferObject { storagePath = cfg.getStoragePath(); checkpointFreq = cfg.getCheckpointFrequency(); lockWaitTime = cfg.getLockWaitTime(); - checkpointPageBufSize = cfg.getCheckpointPageBufferSize(); checkpointThreads = cfg.getCheckpointThreads(); checkpointWriteOrder = cfg.getCheckpointWriteOrder(); walHistSize = cfg.getWalHistorySize(); @@ -391,7 +390,7 @@ public class VisorDataStorageConfiguration extends VisorDataTransferObject { U.writeString(out, storagePath); out.writeLong(checkpointFreq); out.writeLong(lockWaitTime); - out.writeLong(checkpointPageBufSize); + out.writeLong(0); out.writeInt(checkpointThreads); U.writeEnum(out, checkpointWriteOrder); out.writeInt(walHistSize); http://git-wip-us.apache.org/repos/asf/ignite/blob/8266a981/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorPersistentStoreConfiguration.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorPersistentStoreConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorPersistentStoreConfiguration.java index f9d7a64..d26ab35 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorPersistentStoreConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorPersistentStoreConfiguration.java @@ -103,7 +103,6 @@ public class VisorPersistentStoreConfiguration extends VisorDataTransferObject { persistenceStorePath = cfg.getStoragePath(); checkpointingFreq = cfg.getCheckpointFrequency(); lockWaitTime = cfg.getLockWaitTime(); - checkpointingPageBufSize = cfg.getCheckpointPageBufferSize(); checkpointingThreads = cfg.getCheckpointThreads(); walHistSize = cfg.getWalHistorySize(); walSegments = cfg.getWalSegments(); http://git-wip-us.apache.org/repos/asf/ignite/blob/8266a981/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/IgnitePdsWalTlbTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/IgnitePdsWalTlbTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/IgnitePdsWalTlbTest.java index 5700eb3..3b76b63 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/IgnitePdsWalTlbTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/db/wal/IgnitePdsWalTlbTest.java @@ -31,7 +31,7 @@ import org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinder; import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder; import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; -import static org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.DFLT_CHECKPOINTING_PAGE_BUFFER_SIZE; +import static org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.DFLT_MIN_CHECKPOINTING_PAGE_BUFFER_SIZE; import static org.apache.ignite.internal.processors.cache.persistence.file.FilePageStoreManager.DFLT_STORE_DIR; /** @@ -54,9 +54,10 @@ public class IgnitePdsWalTlbTest extends GridCommonAbstractTest { DataStorageConfiguration memCfg = new DataStorageConfiguration() .setDefaultDataRegionConfiguration( - new DataRegionConfiguration().setMaxSize(100 * 1024 * 1024).setPersistenceEnabled(true)) + new DataRegionConfiguration().setMaxSize(100 * 1024 * 1024) + .setPersistenceEnabled(true) + .setCheckpointPageBufferSize(DFLT_MIN_CHECKPOINTING_PAGE_BUFFER_SIZE + 1)) .setWalMode(WALMode.LOG_ONLY) - .setCheckpointPageBufferSize(DFLT_CHECKPOINTING_PAGE_BUFFER_SIZE + 1) .setWalThreadLocalBufferSize(640000000); cfg.setDataStorageConfiguration(memCfg); http://git-wip-us.apache.org/repos/asf/ignite/blob/8266a981/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/PagesWriteThrottleSandboxTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/PagesWriteThrottleSandboxTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/PagesWriteThrottleSandboxTest.java index 30fb492..9529f59 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/PagesWriteThrottleSandboxTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/PagesWriteThrottleSandboxTest.java @@ -68,12 +68,12 @@ public class PagesWriteThrottleSandboxTest extends GridCommonAbstractTest { DataStorageConfiguration dbCfg = new DataStorageConfiguration() .setDefaultDataRegionConfiguration(new DataRegionConfiguration() .setMaxSize(4000L * 1024 * 1024) + .setCheckpointPageBufferSize(1000L * 1000 * 1000) .setName("dfltDataRegion") .setMetricsEnabled(true) .setPersistenceEnabled(true)) .setWalMode(WALMode.BACKGROUND) .setCheckpointFrequency(20_000) - .setCheckpointPageBufferSize(1000L * 1000 * 1000) .setWriteThrottlingEnabled(true); cfg.setDataStorageConfiguration(dbCfg); http://git-wip-us.apache.org/repos/asf/ignite/blob/8266a981/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/PagesWriteThrottleSmokeTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/PagesWriteThrottleSmokeTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/PagesWriteThrottleSmokeTest.java index ab7aab4..1875cfb 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/PagesWriteThrottleSmokeTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/persistence/pagemem/PagesWriteThrottleSmokeTest.java @@ -78,12 +78,12 @@ public class PagesWriteThrottleSmokeTest extends GridCommonAbstractTest { DataStorageConfiguration dbCfg = new DataStorageConfiguration() .setDefaultDataRegionConfiguration(new DataRegionConfiguration() .setMaxSize(400 * 1024 * 1024) + .setCheckpointPageBufferSize(200 * 1000 * 1000) .setName("dfltDataRegion") .setMetricsEnabled(true) .setPersistenceEnabled(true)) .setWalMode(WALMode.BACKGROUND) .setCheckpointFrequency(20_000) - .setCheckpointPageBufferSize(200 * 1000 * 1000) .setWriteThrottlingEnabled(true) .setCheckpointThreads(1) .setFileIOFactory(new SlowCheckpointFileIOFactory()); http://git-wip-us.apache.org/repos/asf/ignite/blob/8266a981/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/full-config.xml ---------------------------------------------------------------------- diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/full-config.xml b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/full-config.xml index 03559bf..b808bbe 100644 --- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/full-config.xml +++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/full-config.xml @@ -136,7 +136,7 @@ <listener type='Apache.Ignite.Core.Tests.IgniteConfigurationSerializerTest+MyEventListener' /> </localEventListener> </localEventListeners> - <dataStorageConfiguration alwaysWriteFullPages="false" checkpointFrequency="00:00:01" checkpointPageBufferSize="2" + <dataStorageConfiguration alwaysWriteFullPages="false" checkpointFrequency="00:00:01" checkpointThreads="3" concurrencyLevel="4" lockWaitTime="00:00:05" metricsEnabled="true" pageSize="6" storagePath="cde" metricsRateTimeInterval="00:00:07" metricsSubIntervalCount="8" systemRegionInitialSize="9" systemRegionMaxSize="10" @@ -147,11 +147,11 @@ <dataRegionConfigurations> <dataRegionConfiguration emptyPagesPoolSize="1" evictionThreshold="2" initialSize="3" metricsEnabled="true" maxSize="4" name="reg2" pageEvictionMode="RandomLru" metricsRateTimeInterval="00:00:01" - metricsSubIntervalCount="5" swapPath="swap" /> + metricsSubIntervalCount="5" swapPath="swap" checkpointPageBufferSize="7" /> </dataRegionConfigurations> <defaultDataRegionConfiguration emptyPagesPoolSize="2" evictionThreshold="3" initialSize="4" maxSize="5" metricsEnabled="false" name="reg1" pageEvictionMode="Disabled" metricsRateTimeInterval="00:00:03" metricsSubIntervalCount="6" - swapPath="swap2" /> + swapPath="swap2" checkpointPageBufferSize="8" /> </dataStorageConfiguration> </igniteConfiguration> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/ignite/blob/8266a981/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationSerializerTest.cs ---------------------------------------------------------------------- diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationSerializerTest.cs b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationSerializerTest.cs index b8c1069..4cd3760 100644 --- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationSerializerTest.cs +++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationSerializerTest.cs @@ -287,7 +287,6 @@ namespace Apache.Ignite.Core.Tests var ds = cfg.DataStorageConfiguration; Assert.IsFalse(ds.AlwaysWriteFullPages); Assert.AreEqual(TimeSpan.FromSeconds(1), ds.CheckpointFrequency); - Assert.AreEqual(2, ds.CheckpointPageBufferSize); Assert.AreEqual(3, ds.CheckpointThreads); Assert.AreEqual(4, ds.ConcurrencyLevel); Assert.AreEqual(TimeSpan.FromSeconds(5), ds.LockWaitTime); @@ -321,6 +320,7 @@ namespace Apache.Ignite.Core.Tests Assert.AreEqual(5, dr.MetricsSubIntervalCount); Assert.AreEqual("swap", dr.SwapPath); Assert.IsTrue(dr.MetricsEnabled); + Assert.AreEqual(7, dr.CheckpointPageBufferSize); dr = ds.DefaultDataRegionConfiguration; Assert.AreEqual(2, dr.EmptyPagesPoolSize); @@ -927,7 +927,6 @@ namespace Apache.Ignite.Core.Tests { AlwaysWriteFullPages = true, CheckpointFrequency = TimeSpan.FromSeconds(25), - CheckpointPageBufferSize = 28 * 1024 * 1024, CheckpointThreads = 2, LockWaitTime = TimeSpan.FromSeconds(5), StoragePath = Path.GetTempPath(), @@ -962,7 +961,8 @@ namespace Apache.Ignite.Core.Tests PersistenceEnabled = false, MetricsRateTimeInterval = TimeSpan.FromMinutes(2), MetricsSubIntervalCount = 6, - SwapPath = Path.GetTempPath() + SwapPath = Path.GetTempPath(), + CheckpointPageBufferSize = 7 }, DataRegionConfigurations = new[] { http://git-wip-us.apache.org/repos/asf/ignite/blob/8266a981/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationTest.cs ---------------------------------------------------------------------- diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationTest.cs b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationTest.cs index c8c06b2..f68371a 100644 --- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationTest.cs +++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationTest.cs @@ -543,7 +543,6 @@ namespace Apache.Ignite.Core.Tests Assert.AreEqual(DataStorageConfiguration.DefaultTlbSize, cfg.WalThreadLocalBufferSize); Assert.AreEqual(DataStorageConfiguration.DefaultCheckpointFrequency, cfg.CheckpointFrequency); Assert.AreEqual(DataStorageConfiguration.DefaultCheckpointThreads, cfg.CheckpointThreads); - Assert.AreEqual(default(long), cfg.CheckpointPageBufferSize); Assert.AreEqual(DataStorageConfiguration.DefaultLockWaitTime, cfg.LockWaitTime); Assert.AreEqual(DataStorageConfiguration.DefaultWalFlushFrequency, cfg.WalFlushFrequency); Assert.AreEqual(DataStorageConfiguration.DefaultWalFsyncDelayNanos, cfg.WalFsyncDelayNanos); @@ -580,6 +579,7 @@ namespace Apache.Ignite.Core.Tests Assert.AreEqual(DataRegionConfiguration.DefaultPersistenceEnabled, cfg.PersistenceEnabled); Assert.AreEqual(DataRegionConfiguration.DefaultMetricsRateTimeInterval, cfg.MetricsRateTimeInterval); Assert.AreEqual(DataRegionConfiguration.DefaultMetricsSubIntervalCount, cfg.MetricsSubIntervalCount); + Assert.AreEqual(default(long), cfg.CheckpointPageBufferSize); } /// <summary> @@ -769,7 +769,6 @@ namespace Apache.Ignite.Core.Tests { AlwaysWriteFullPages = true, CheckpointFrequency = TimeSpan.FromSeconds(25), - CheckpointPageBufferSize = 28 * 1024 * 1024, CheckpointThreads = 2, LockWaitTime = TimeSpan.FromSeconds(5), StoragePath = Path.GetTempPath(), @@ -804,7 +803,8 @@ namespace Apache.Ignite.Core.Tests PersistenceEnabled = false, MetricsRateTimeInterval = TimeSpan.FromMinutes(2), MetricsSubIntervalCount = 6, - SwapPath = IgniteUtils.GetTempDirectoryName() + SwapPath = IgniteUtils.GetTempDirectoryName(), + CheckpointPageBufferSize = 28 * 1024 * 1024 }, DataRegionConfigurations = new[] { http://git-wip-us.apache.org/repos/asf/ignite/blob/8266a981/modules/platforms/dotnet/Apache.Ignite.Core/Configuration/DataRegionConfiguration.cs ---------------------------------------------------------------------- diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Configuration/DataRegionConfiguration.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Configuration/DataRegionConfiguration.cs index 5c4240e..d20ce49 100644 --- a/modules/platforms/dotnet/Apache.Ignite.Core/Configuration/DataRegionConfiguration.cs +++ b/modules/platforms/dotnet/Apache.Ignite.Core/Configuration/DataRegionConfiguration.cs @@ -104,6 +104,7 @@ namespace Apache.Ignite.Core.Configuration MetricsEnabled = reader.ReadBoolean(); MetricsSubIntervalCount = reader.ReadInt(); MetricsRateTimeInterval = reader.ReadLongAsTimespan(); + CheckpointPageBufferSize = reader.ReadLong(); } /// <summary> @@ -122,6 +123,7 @@ namespace Apache.Ignite.Core.Configuration writer.WriteBoolean(MetricsEnabled); writer.WriteInt(MetricsSubIntervalCount); writer.WriteTimeSpanAsLong(MetricsRateTimeInterval); + writer.WriteLong(CheckpointPageBufferSize); } /// <summary> @@ -209,5 +211,11 @@ namespace Apache.Ignite.Core.Configuration Justification = "Consistency with Java config")] public int MetricsSubIntervalCount { get; set; } + /// <summary> + /// Gets or sets the size of the checkpointing page buffer. + /// <para /> + /// Default is <c>0</c>: Ignite will choose buffer size automatically. + /// </summary> + public long CheckpointPageBufferSize { get; set; } } } http://git-wip-us.apache.org/repos/asf/ignite/blob/8266a981/modules/platforms/dotnet/Apache.Ignite.Core/Configuration/DataStorageConfiguration.cs ---------------------------------------------------------------------- diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/Configuration/DataStorageConfiguration.cs b/modules/platforms/dotnet/Apache.Ignite.Core/Configuration/DataStorageConfiguration.cs index 17b4ada..09b3fe4 100644 --- a/modules/platforms/dotnet/Apache.Ignite.Core/Configuration/DataStorageConfiguration.cs +++ b/modules/platforms/dotnet/Apache.Ignite.Core/Configuration/DataStorageConfiguration.cs @@ -189,7 +189,6 @@ namespace Apache.Ignite.Core.Configuration StoragePath = reader.ReadString(); CheckpointFrequency = reader.ReadLongAsTimespan(); - CheckpointPageBufferSize = reader.ReadLong(); CheckpointThreads = reader.ReadInt(); LockWaitTime = reader.ReadLongAsTimespan(); WalHistorySize = reader.ReadInt(); @@ -239,7 +238,6 @@ namespace Apache.Ignite.Core.Configuration writer.WriteString(StoragePath); writer.WriteTimeSpanAsLong(CheckpointFrequency); - writer.WriteLong(CheckpointPageBufferSize); writer.WriteInt(CheckpointThreads); writer.WriteTimeSpanAsLong(LockWaitTime); writer.WriteInt(WalHistorySize); @@ -308,13 +306,6 @@ namespace Apache.Ignite.Core.Configuration public TimeSpan CheckpointFrequency { get; set; } /// <summary> - /// Gets or sets the size of the checkpointing page buffer. - /// <para /> - /// Default is <c>0</c>: Ignite will choose buffer size automatically. - /// </summary> - public long CheckpointPageBufferSize { get; set; } - - /// <summary> /// Gets or sets the number of threads for checkpointing. /// </summary> [DefaultValue(DefaultCheckpointThreads)] http://git-wip-us.apache.org/repos/asf/ignite/blob/8266a981/modules/platforms/dotnet/Apache.Ignite.Core/IgniteConfigurationSection.xsd ---------------------------------------------------------------------- diff --git a/modules/platforms/dotnet/Apache.Ignite.Core/IgniteConfigurationSection.xsd b/modules/platforms/dotnet/Apache.Ignite.Core/IgniteConfigurationSection.xsd index 70b1fc4..5050806 100644 --- a/modules/platforms/dotnet/Apache.Ignite.Core/IgniteConfigurationSection.xsd +++ b/modules/platforms/dotnet/Apache.Ignite.Core/IgniteConfigurationSection.xsd @@ -1622,6 +1622,11 @@ <xs:documentation>Enable disk persistence for this region.</xs:documentation> </xs:annotation> </xs:attribute> + <xs:attribute name="checkpointPageBufferSize" type="xs:long"> + <xs:annotation> + <xs:documentation>Size of the checkpointing page buffer.</xs:documentation> + </xs:annotation> + </xs:attribute> </xs:complexType> </xs:element> <xs:element name="dataRegionConfigurations"> @@ -1690,6 +1695,11 @@ <xs:documentation>Enable disk persistence for this region.</xs:documentation> </xs:annotation> </xs:attribute> + <xs:attribute name="checkpointPageBufferSize" type="xs:long"> + <xs:annotation> + <xs:documentation>Size of the checkpointing page buffer.</xs:documentation> + </xs:annotation> + </xs:attribute> </xs:complexType> </xs:element> </xs:sequence> @@ -1706,11 +1716,6 @@ <xs:documentation>Checkpointing frequency which is a minimal interval when the dirty pages will be written to the Persistent Store.</xs:documentation> </xs:annotation> </xs:attribute> - <xs:attribute name="checkpointPageBufferSize" type="xs:long"> - <xs:annotation> - <xs:documentation>Size of the checkpointing page buffer.</xs:documentation> - </xs:annotation> - </xs:attribute> <xs:attribute name="checkpointThreads" type="xs:int"> <xs:annotation> <xs:documentation>Number of threads for checkpointing.</xs:documentation> http://git-wip-us.apache.org/repos/asf/ignite/blob/8266a981/modules/web-console/backend/app/mongo.js ---------------------------------------------------------------------- diff --git a/modules/web-console/backend/app/mongo.js b/modules/web-console/backend/app/mongo.js index b4bc9fc..5b02a72 100644 --- a/modules/web-console/backend/app/mongo.js +++ b/modules/web-console/backend/app/mongo.js @@ -977,7 +977,8 @@ module.exports.factory = function(passportMongo, settings, pluginMongo, mongoose metricsEnabled: Boolean, metricsSubIntervalCount: Number, metricsRateTimeInterval: Number, - persistenceEnabled: Boolean + persistenceEnabled: Boolean, + checkpointPageBufferSize: Number }, dataRegionConfigurations: [{ name: String, @@ -990,7 +991,8 @@ module.exports.factory = function(passportMongo, settings, pluginMongo, mongoose metricsEnabled: Boolean, metricsSubIntervalCount: Number, metricsRateTimeInterval: Number, - persistenceEnabled: Boolean + persistenceEnabled: Boolean, + checkpointPageBufferSize: Number }], storagePath: String, metricsEnabled: Boolean, http://git-wip-us.apache.org/repos/asf/ignite/blob/8266a981/modules/web-console/frontend/app/modules/configuration/generator/ConfigurationGenerator.js ---------------------------------------------------------------------- diff --git a/modules/web-console/frontend/app/modules/configuration/generator/ConfigurationGenerator.js b/modules/web-console/frontend/app/modules/configuration/generator/ConfigurationGenerator.js index d9342e7..1b12d52 100644 --- a/modules/web-console/frontend/app/modules/configuration/generator/ConfigurationGenerator.js +++ b/modules/web-console/frontend/app/modules/configuration/generator/ConfigurationGenerator.js @@ -1345,7 +1345,7 @@ export default class IgniteConfigurationGenerator { static dataRegionConfiguration(dataRegionCfg) { const plcBean = new Bean('org.apache.ignite.configuration.DataRegionConfiguration', 'dataRegionCfg', dataRegionCfg, clusterDflts.dataStorageConfiguration.dataRegionConfigurations); - return plcBean.stringProperty('name') + plcBean.stringProperty('name') .longProperty('initialSize') .longProperty('maxSize') .stringProperty('swapPath') @@ -1354,8 +1354,11 @@ export default class IgniteConfigurationGenerator { .intProperty('emptyPagesPoolSize') .intProperty('metricsSubIntervalCount') .longProperty('metricsRateTimeInterval') + .longProperty('checkpointPageBufferSize') .boolProperty('metricsEnabled') .boolProperty('persistenceEnabled'); + + return plcBean; } // Generate data storage configuration. http://git-wip-us.apache.org/repos/asf/ignite/blob/8266a981/modules/web-console/frontend/app/modules/configuration/generator/defaults/Cluster.service.js ---------------------------------------------------------------------- diff --git a/modules/web-console/frontend/app/modules/configuration/generator/defaults/Cluster.service.js b/modules/web-console/frontend/app/modules/configuration/generator/defaults/Cluster.service.js index bafb202..f636869 100644 --- a/modules/web-console/frontend/app/modules/configuration/generator/defaults/Cluster.service.js +++ b/modules/web-console/frontend/app/modules/configuration/generator/defaults/Cluster.service.js @@ -327,7 +327,8 @@ const DFLT_CLUSTER = { emptyPagesPoolSize: 100, metricsEnabled: false, metricsSubIntervalCount: 5, - metricsRateTimeInterval: 60000 + metricsRateTimeInterval: 60000, + checkpointPageBufferSize: 0 }, metricsEnabled: false, alwaysWriteFullPages: false, http://git-wip-us.apache.org/repos/asf/ignite/blob/8266a981/modules/web-console/frontend/app/modules/states/configuration/clusters/data-storage.pug ---------------------------------------------------------------------- diff --git a/modules/web-console/frontend/app/modules/states/configuration/clusters/data-storage.pug b/modules/web-console/frontend/app/modules/states/configuration/clusters/data-storage.pug index a635739..82c6dbe 100644 --- a/modules/web-console/frontend/app/modules/states/configuration/clusters/data-storage.pug +++ b/modules/web-console/frontend/app/modules/states/configuration/clusters/data-storage.pug @@ -102,6 +102,9 @@ include /app/helpers/jade/mixins +number('Metrics rate time interval:', dfltRegionModel + '.metricsRateTimeInterval', '"DfltRegionRateTimeInterval" + $index', 'true', '60000', '1000', 'Time interval for allocation rate and eviction rate monitoring purposes') .details-row + +number('Checkpoint page buffer:', dfltRegionModel + '.checkpointPageBufferSize', '"DfltCheckpointPageBufferSize" + $index', + 'true', '0', '0', 'Amount of memory allocated for a checkpoint temporary buffer in bytes') + .details-row +checkbox('Metrics enabled', dfltRegionModel + '.metricsEnabled', '"DfltRegionMetricsEnabled" + $index', 'Whether memory metrics are enabled by default on node startup') .details-row @@ -156,6 +159,9 @@ include /app/helpers/jade/mixins .settings-row +number('Metrics rate time interval:', 'model.metricsRateTimeInterval', '"DataRegionRateTimeInterval" + $index', 'true', '60000', '1000', 'Time interval for allocation rate and eviction rate monitoring purposes') + .details-row + +number('Checkpoint page buffer:', 'model.checkpointPageBufferSize', '"DataRegionCheckpointPageBufferSize" + $index', + 'true', '0', '0', 'Amount of memory allocated for a checkpoint temporary buffer in bytes') .settings-row +checkbox('Metrics enabled', 'model.metricsEnabled', '"DataRegionMetricsEnabled" + $index', 'Whether memory metrics are enabled by default on node startup')
