You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by sk...@apache.org on 2020/04/09 09:14:01 UTC

[ignite] branch master updated: IGNITE-12874 Fixed possible NullPointerException in GridDiscoveryManager#cacheGroupAffinityNode. Fixes #7641

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

sk0x50 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 d3a1350  IGNITE-12874 Fixed possible NullPointerException in GridDiscoveryManager#cacheGroupAffinityNode. Fixes #7641
d3a1350 is described below

commit d3a13506bb88b3331947e746c1f123215b300264
Author: Ivan Bessonov <be...@gmail.com>
AuthorDate: Thu Apr 9 12:10:41 2020 +0300

    IGNITE-12874 Fixed possible NullPointerException in GridDiscoveryManager#cacheGroupAffinityNode. Fixes #7641
    
    Signed-off-by: Slava Koptilin <sl...@gmail.com>
---
 .../ignite/internal/managers/discovery/GridDiscoveryManager.java    | 6 ++++++
 .../distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java  | 2 +-
 .../cache/persistence/snapshot/IgniteCacheSnapshotManager.java      | 2 +-
 3 files changed, 8 insertions(+), 2 deletions(-)

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 1ed95de..01a7f86 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
@@ -1914,6 +1914,12 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> {
     public boolean cacheGroupAffinityNode(ClusterNode node, int grpId) {
         CacheGroupAffinity aff = registeredCacheGrps.get(grpId);
 
+        if (aff == null) {
+            log.warning("Registered cache group not found for groupId=" + grpId + ". Group was destroyed.");
+
+            return false;
+        }
+
         return CU.affinityNode(node, aff.cacheFilter);
     }
 
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
index ffac5ff..451523d 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionsExchangeFuture.java
@@ -1648,7 +1648,7 @@ public class GridDhtPartitionsExchangeFuture extends GridDhtTopologyFutureAdapte
                         ", time=" + U.nanosToMillis(end - start) + "ms]");
             }
         }
-        catch (IgniteCheckedException e) {
+        catch (IgniteException | IgniteCheckedException e) {
             U.error(log, "Error while starting snapshot operation", e);
         }
     }
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/IgniteCacheSnapshotManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/IgniteCacheSnapshotManager.java
index 68b8859..705879e 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/IgniteCacheSnapshotManager.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/snapshot/IgniteCacheSnapshotManager.java
@@ -122,7 +122,7 @@ public class IgniteCacheSnapshotManager<T extends SnapshotOperation> extends Gri
      * @param cctx Cctx.
      * @param destroy Destroy flag.
      */
-    public void onCacheStop(GridCacheContext cctx, boolean destroy) {
+    public void onCacheStop(GridCacheContext<?, ?> cctx, boolean destroy) {
         // No-op.
     }