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());
+    }
 }