You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by dp...@apache.org on 2018/04/25 18:18:47 UTC
ignite git commit: IGNITE-5151 Add some warning when offheap eviction
occurs. - Fixes #1921.
Repository: ignite
Updated Branches:
refs/heads/master 6bf7532d8 -> f69f21d0e
IGNITE-5151 Add some warning when offheap eviction occurs. - Fixes #1921.
Signed-off-by: dpavlov <dp...@apache.org>
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 <vi...@gmail.com>
Authored: Wed Apr 25 21:16:23 2018 +0300
Committer: dpavlov <dp...@apache.org>
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());
+ }
}