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

akuznetsov 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 e05387f  IGNITE-10916 Added guard for cache restarting in progress for 
Visor tasks.
e05387f is described below

commit e05387f99f878fac758fa4cbf2fb8f6fdba56176
Author: Vasiliy Sisko <vsi...@gridgain.com>
AuthorDate: Mon Jan 14 14:30:02 2019 +0700

    IGNITE-10916 Added guard for cache restarting in progress for Visor tasks.
---
 .../visor/cache/VisorCacheConfigurationCollectorJob.java  |  3 ++-
 .../visor/cache/VisorCacheMetricsCollectorTask.java       | 15 +++++++++------
 .../internal/visor/cache/VisorCachePartitionsTask.java    |  5 +++--
 3 files changed, 14 insertions(+), 9 deletions(-)

diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheConfigurationCollectorJob.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheConfigurationCollectorJob.java
index 9cf2c89..51477c9 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheConfigurationCollectorJob.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheConfigurationCollectorJob.java
@@ -26,6 +26,7 @@ import org.apache.ignite.internal.util.typedef.F;
 import org.apache.ignite.internal.util.typedef.internal.S;
 import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.internal.visor.VisorJob;
+import org.apache.ignite.internal.visor.util.VisorTaskUtils;
 import org.apache.ignite.lang.IgniteUuid;
 
 /**
@@ -63,7 +64,7 @@ public class VisorCacheConfigurationCollectorJob
 
             boolean matched = hasPtrn ? ptrn.matcher(cacheName).find() : all 
|| arg.getCacheNames().contains(cacheName);
 
-            if (matched) {
+            if (!VisorTaskUtils.isRestartingCache(ignite, cacheName) && 
matched) {
                 VisorCacheConfiguration cfg =
                     config(cache.getConfiguration(CacheConfiguration.class), 
cache.context().dynamicDeploymentId());
 
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheMetricsCollectorTask.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheMetricsCollectorTask.java
index ab1fa8c..4c18ba3 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheMetricsCollectorTask.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheMetricsCollectorTask.java
@@ -30,6 +30,7 @@ import org.apache.ignite.internal.util.typedef.internal.S;
 import org.apache.ignite.internal.util.typedef.internal.U;
 import org.apache.ignite.internal.visor.VisorJob;
 import org.apache.ignite.internal.visor.VisorMultiNodeTask;
+import org.apache.ignite.internal.visor.util.VisorTaskUtils;
 import org.jetbrains.annotations.Nullable;
 
 /**
@@ -110,15 +111,17 @@ public class VisorCacheMetricsCollectorTask extends 
VisorMultiNodeTask<VisorCach
             boolean allCaches = cacheNames.isEmpty();
 
             for (IgniteCacheProxy ca : caches) {
-                GridCacheContext ctx = ca.context();
+                String cacheName = ca.getName();
 
-                if (ctx.started() && (ctx.affinityNode() || ctx.isNear())) {
-                    String cacheName = ca.getName();
+                if (!VisorTaskUtils.isRestartingCache(ignite, cacheName)) {
+                    GridCacheContext ctx = ca.context();
 
-                    VisorCacheMetrics cm = new VisorCacheMetrics(ignite, 
cacheName);
+                    if (ctx.started() && (ctx.affinityNode() || ctx.isNear())) 
{
+                        VisorCacheMetrics cm = new VisorCacheMetrics(ignite, 
cacheName);
 
-                    if ((allCaches || cacheNames.contains(cacheName)) && 
(showSysCaches || !cm.isSystem()))
-                        res.add(cm);
+                        if ((allCaches || cacheNames.contains(cacheName)) && 
(showSysCaches || !cm.isSystem()))
+                            res.add(cm);
+                    }
                 }
             }
 
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCachePartitionsTask.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCachePartitionsTask.java
index 93c9c60..11ae18d 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCachePartitionsTask.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCachePartitionsTask.java
@@ -36,10 +36,11 @@ import 
org.apache.ignite.internal.processors.task.GridInternal;
 import org.apache.ignite.internal.util.typedef.internal.S;
 import org.apache.ignite.internal.visor.VisorJob;
 import org.apache.ignite.internal.visor.VisorMultiNodeTask;
+import org.apache.ignite.internal.visor.util.VisorTaskUtils;
 import org.jetbrains.annotations.Nullable;
 
-import static org.apache.ignite.internal.visor.util.VisorTaskUtils.log;
 import static org.apache.ignite.internal.visor.util.VisorTaskUtils.escapeName;
+import static org.apache.ignite.internal.visor.util.VisorTaskUtils.log;
 
 /**
  * Task that collect keys distribution in partitions.
@@ -98,7 +99,7 @@ public class VisorCachePartitionsTask extends 
VisorMultiNodeTask<VisorCacheParti
             GridCacheAdapter ca = 
ignite.context().cache().internalCache(cacheName);
 
             // Cache was not started.
-            if (ca == null || !ca.context().started())
+            if (ca == null || !ca.context().started() || 
VisorTaskUtils.isRestartingCache(ignite, cacheName))
                 return parts;
 
             CacheConfiguration cfg = ca.configuration();

Reply via email to