This is an automated email from the ASF dual-hosted git repository.

dgovorukhin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ignite.git


The following commit(s) were added to refs/heads/master by this push:
     new 1d0ced3  IGNITE-11966 Fixed using AdaptiveLoadBalancingSpi without 
IgniteConfiguration.setIncludeEventTypes(EventType.EVT_TASK_FINISHED, 
EventType.EVT_TASK_FAILED) leads to memory leak - Fixed #6690.
1d0ced3 is described below

commit 1d0ced30fcef017972d3d2f6770b7c9928334225
Author: Dmitriy Govorukhin <[email protected]>
AuthorDate: Wed Jul 17 15:08:41 2019 +0300

    IGNITE-11966 Fixed using AdaptiveLoadBalancingSpi without 
IgniteConfiguration.setIncludeEventTypes(EventType.EVT_TASK_FINISHED, 
EventType.EVT_TASK_FAILED) leads to memory leak - Fixed #6690.
---
 .../managers/eventstorage/GridEventStorageManager.java     | 14 +++++++++++++-
 .../GridEventStorageRuntimeConfigurationSelfTest.java      | 10 +++++-----
 2 files changed, 18 insertions(+), 6 deletions(-)

diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/eventstorage/GridEventStorageManager.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/eventstorage/GridEventStorageManager.java
index a9baed0..0e956f1 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/managers/eventstorage/GridEventStorageManager.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/managers/eventstorage/GridEventStorageManager.java
@@ -72,9 +72,12 @@ import org.jetbrains.annotations.Nullable;
 
 import static org.apache.ignite.events.EventType.EVTS_ALL;
 import static org.apache.ignite.events.EventType.EVTS_DISCOVERY_ALL;
+import static org.apache.ignite.events.EventType.EVT_JOB_MAPPED;
 import static org.apache.ignite.events.EventType.EVT_NODE_FAILED;
 import static org.apache.ignite.events.EventType.EVT_NODE_LEFT;
 import static org.apache.ignite.events.EventType.EVT_NODE_METRICS_UPDATED;
+import static org.apache.ignite.events.EventType.EVT_TASK_FAILED;
+import static org.apache.ignite.events.EventType.EVT_TASK_FINISHED;
 import static org.apache.ignite.internal.GridTopic.TOPIC_EVENT;
 import static 
org.apache.ignite.internal.events.DiscoveryCustomEvent.EVT_DISCOVERY_CUSTOM_EVT;
 import static 
org.apache.ignite.internal.managers.communication.GridIoPolicy.PUBLIC_POOL;
@@ -505,7 +508,16 @@ public class GridEventStorageManager extends 
GridManagerAdapter<EventStorageSpi>
      * @return {@code true} if this is an internal event.
      */
     private boolean isInternalEvent(int type) {
-        return type == EVT_DISCOVERY_CUSTOM_EVT || 
F.contains(EVTS_DISCOVERY_ALL, type);
+        switch (type) {
+            case EVT_DISCOVERY_CUSTOM_EVT:
+            case EVT_TASK_FINISHED:
+            case EVT_TASK_FAILED:
+            case EVT_JOB_MAPPED:
+                return true;
+
+            default:
+                return F.contains(EVTS_DISCOVERY_ALL, type);
+        }
     }
 
     /**
diff --git 
a/modules/core/src/test/java/org/apache/ignite/internal/GridEventStorageRuntimeConfigurationSelfTest.java
 
b/modules/core/src/test/java/org/apache/ignite/internal/GridEventStorageRuntimeConfigurationSelfTest.java
index bcd8595..16bd0e5 100644
--- 
a/modules/core/src/test/java/org/apache/ignite/internal/GridEventStorageRuntimeConfigurationSelfTest.java
+++ 
b/modules/core/src/test/java/org/apache/ignite/internal/GridEventStorageRuntimeConfigurationSelfTest.java
@@ -138,7 +138,7 @@ public class GridEventStorageRuntimeConfigurationSelfTest 
extends GridCommonAbst
         try {
             Ignite g = startGrid();
 
-            g.events().enableLocal(EVT_TASK_STARTED, EVT_TASK_FINISHED, 
EVT_JOB_STARTED);
+            g.events().enableLocal(EVT_TASK_STARTED, EVT_JOB_STARTED);
 
             final AtomicInteger cnt = new AtomicInteger();
 
@@ -148,17 +148,17 @@ public class GridEventStorageRuntimeConfigurationSelfTest 
extends GridCommonAbst
 
                     return true;
                 }
-            }, EVT_TASK_STARTED, EVT_TASK_FINISHED, EVT_JOB_STARTED);
+            }, EVT_TASK_STARTED, EVT_JOB_STARTED);
 
             g.compute().run(F.noop());
 
-            assertEquals(3, cnt.get());
+            assertEquals(2, cnt.get());
 
-            g.events().disableLocal(EVT_TASK_STARTED, EVT_TASK_FINISHED, 
EVT_JOB_FAILED);
+            g.events().disableLocal(EVT_TASK_STARTED, EVT_JOB_FAILED);
 
             g.compute().run(F.noop());
 
-            assertEquals(4, cnt.get());
+            assertEquals(3, cnt.get());
         }
         finally {
             stopAllGrids();

Reply via email to