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