Repository: ignite Updated Branches: refs/heads/master 6bf7532d8 -> f69f21d0e
IGNITE-5151 Add some warning when offheap eviction occurs. - Fixes #1921. Signed-off-by: dpavlov <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/f69f21d0 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/f69f21d0 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/f69f21d0 Branch: refs/heads/master Commit: f69f21d0e9d3c6b6c8bc276ca351a30ab7cae5dc Parents: 6bf7532 Author: Wuwei Lin <[email protected]> Authored: Wed Apr 25 21:16:23 2018 +0300 Committer: dpavlov <[email protected]> Committed: Wed Apr 25 21:16:23 2018 +0300 ---------------------------------------------------------------------- .../IgniteCacheDatabaseSharedManager.java | 24 ++++++++++++++++++++ 1 file changed, 24 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/f69f21d0/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/IgniteCacheDatabaseSharedManager.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/IgniteCacheDatabaseSharedManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/IgniteCacheDatabaseSharedManager.java index a251234..11a78dc 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/IgniteCacheDatabaseSharedManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/IgniteCacheDatabaseSharedManager.java @@ -105,6 +105,9 @@ public class IgniteCacheDatabaseSharedManager extends GridCacheSharedManagerAdap /** Page size from memory configuration, may be set only for fake(standalone) IgniteCacheDataBaseSharedManager */ private int pageSize; + /** First eviction flag. */ + private volatile boolean firstEvictWarn; + /** {@inheritDoc} */ @Override protected void start0() throws IgniteCheckedException { if (cctx.kernalContext().clientNode() && cctx.kernalContext().config().getDataStorageConfiguration() == null) @@ -857,6 +860,8 @@ public class IgniteCacheDatabaseSharedManager extends GridCacheSharedManagerAdap emptyDataPagesCnt < plcCfg.getEmptyPagesPoolSize(); if (shouldEvict) { + warnFirstEvict(plcCfg); + memPlc.evictionTracker().evictDataPage(); memPlc.memoryMetrics().updateEvictionRate(); @@ -1083,4 +1088,23 @@ public class IgniteCacheDatabaseSharedManager extends GridCacheSharedManagerAdap public void walEnabled(int grpId, boolean enabled, boolean local) { // No-op. } + + /** + * Warns on first eviction. + */ + private void warnFirstEvict(DataRegionConfiguration plcCfg) { + if (firstEvictWarn) + return; + + // Do not move warning output to synchronized block (it causes warning in IDE). + synchronized (this) { + if (firstEvictWarn) + return; + + firstEvictWarn = true; + } + + U.warn(log, "Page-based evictions started." + + " You may wish to increase 'maxSize' on page memory policy: " + plcCfg.getName()); + } }
