From db09278db14780787e3c37e53affe1f749534f17 Mon Sep 17 00:00:00 2001 From: AKuznetsov Date: Wed, 11 Feb 2015 15:59:52 +0700 Subject: [PATCH 1/3] # IGNITE-55 Implemented VisorCacheClearTask with new API + minor renaming. --- .../org/apache/ignite/internal/visor/VisorJob.java | 8 +- .../ignite/internal/visor/cache/VisorCache.java | 10 +- .../internal/visor/cache/VisorCacheClearTask.java | 135 ++++++++++++++++----- .../visor/cache/VisorCacheCompactTask.java | 2 +- .../internal/visor/cache/VisorCacheLoadTask.java | 2 +- .../visor/cache/VisorCacheMetadataTask.java | 2 +- .../cache/VisorCacheMetricsCollectorTask.java | 2 +- .../visor/cache/VisorCachePreloadTask.java | 2 +- .../visor/cache/VisorCacheResetMetricsTask.java | 2 +- .../visor/cache/VisorCacheSwapBackupsTask.java | 2 +- .../compute/VisorComputeCancelSessionsTask.java | 4 +- .../compute/VisorComputeMonitoringHolder.java | 16 +-- .../compute/VisorComputeResetMetricsTask.java | 2 +- .../compute/VisorComputeToggleMonitoringTask.java | 10 +- .../internal/visor/ggfs/VisorGgfsFormatTask.java | 2 +- .../visor/ggfs/VisorGgfsProfilerClearTask.java | 4 +- .../internal/visor/ggfs/VisorGgfsProfilerTask.java | 4 +- .../visor/ggfs/VisorGgfsResetMetricsTask.java | 2 +- .../visor/ggfs/VisorGgfsSamplingStateTask.java | 2 +- .../internal/visor/log/VisorLogSearchTask.java | 10 +- .../ignite/internal/visor/misc/VisorAckTask.java | 2 +- .../visor/misc/VisorLatestVersionTask.java | 2 +- .../visor/node/VisorGridConfiguration.java | 10 +- .../node/VisorNodeConfigurationCollectorJob.java | 2 +- .../visor/node/VisorNodeDataCollectorJob.java | 49 ++++---- .../visor/node/VisorNodeEventsCollectorTask.java | 16 +-- .../internal/visor/node/VisorNodeGcTask.java | 2 +- .../internal/visor/node/VisorNodePingTask.java | 2 +- .../visor/query/VisorQueryCleanupTask.java | 2 +- .../visor/query/VisorQueryNextPageTask.java | 4 +- .../internal/visor/query/VisorQueryTask.java | 18 +-- .../streamer/VisorStreamerMetricsResetTask.java | 4 +- .../visor/streamer/VisorStreamerResetTask.java | 4 +- .../ignite/internal/visor/util/VisorTaskUtils.java | 18 +-- .../visor/commands/ack/VisorAckCommand.scala | 4 +- .../visor/commands/alert/VisorAlertCommand.scala | 24 ++-- .../commands/cache/VisorCacheClearCommand.scala | 17 +-- .../visor/commands/cache/VisorCacheCommand.scala | 8 +- .../commands/cache/VisorCacheCompactCommand.scala | 4 +- .../commands/cache/VisorCacheScanCommand.scala | 8 +- .../commands/cache/VisorCacheSwapCommand.scala | 4 +- .../config/VisorConfigurationCommand.scala | 4 +- .../commands/disco/VisorDiscoveryCommand.scala | 6 +- .../visor/commands/events/VisorEventsCommand.scala | 2 +- .../ignite/visor/commands/gc/VisorGcCommand.scala | 6 +- .../visor/commands/kill/VisorKillCommand.scala | 4 +- .../visor/commands/node/VisorNodeCommand.scala | 2 +- .../visor/commands/ping/VisorPingCommand.scala | 4 +- .../visor/commands/start/VisorStartCommand.scala | 4 +- .../visor/commands/tasks/VisorTasksCommand.scala | 22 ++-- .../visor/commands/top/VisorTopologyCommand.scala | 8 +- .../visor/commands/vvm/VisorVvmCommand.scala | 6 +- .../main/scala/org/apache/ignite/visor/visor.scala | 68 +++++------ .../commands/tasks/VisorTasksCommandSpec.scala | 2 +- 54 files changed, 324 insertions(+), 241 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/VisorJob.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/VisorJob.java index 45fb059..f3dbebe 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/VisorJob.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/VisorJob.java @@ -31,7 +31,7 @@ import static org.apache.ignite.internal.visor.util.VisorTaskUtils.*; */ public abstract class VisorJob extends ComputeJobAdapter { @IgniteInstanceResource - protected transient IgniteEx g; + protected transient IgniteEx ignite; /** Job start time. */ protected transient long start; @@ -58,18 +58,18 @@ public abstract class VisorJob extends ComputeJobAdapter { try { if (debug) - logStart(g.log(), getClass(), start); + logStart(ignite.log(), getClass(), start); return run(arg); } finally { if (debug) - logFinish(g.log(), getClass(), start); + logFinish(ignite.log(), getClass(), start); } } /** - * Execution logic of concrete task. + * Execution logic of concrete job. * * @param arg Task argument. * @return Result. diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCache.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCache.java index 5a93821..9de5638 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCache.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCache.java @@ -92,19 +92,19 @@ public class VisorCache implements Serializable { private GridDhtPartitionMap partsMap; /** - * @param g Grid. + * @param ignite Grid. * @param c Actual cache. * @param sample Sample size. * @return Data transfer object for given cache. * @throws IgniteCheckedException */ - public static VisorCache from(Ignite g, GridCache c, int sample) throws IgniteCheckedException { - assert g != null; + public static VisorCache from(Ignite ignite, GridCache c, int sample) throws IgniteCheckedException { + assert ignite != null; assert c != null; String cacheName = c.name(); - GridCacheAdapter ca = ((IgniteKernal)g).internalCache(cacheName); + GridCacheAdapter ca = ((IgniteKernal)ignite).internalCache(cacheName); long swapSize; long swapKeys; @@ -161,7 +161,7 @@ public class VisorCache implements Serializable { } else { // Old way of collecting partitions info. - ClusterNode node = g.cluster().localNode(); + ClusterNode node = ignite.cluster().localNode(); int[] pp = ca.affinity().primaryPartitions(node); diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheClearTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheClearTask.java index 0f5fc56..5d5605d 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheClearTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheClearTask.java @@ -17,71 +17,152 @@ package org.apache.ignite.internal.visor.cache; -import org.apache.ignite.cache.*; +import org.apache.ignite.*; +import org.apache.ignite.compute.*; import org.apache.ignite.internal.processors.task.*; import org.apache.ignite.internal.util.typedef.internal.*; import org.apache.ignite.internal.visor.*; import org.apache.ignite.lang.*; - -import java.util.*; +import org.apache.ignite.resources.*; /** * Task that clears specified caches on specified node. */ @GridInternal -public class VisorCacheClearTask extends VisorOneNodeTask, Map>> { +public class VisorCacheClearTask extends VisorOneNodeTask> { /** */ private static final long serialVersionUID = 0L; /** {@inheritDoc} */ - @Override protected VisorCachesClearJob job(Set arg) { - return new VisorCachesClearJob(arg, debug); + @Override protected VisorCacheClearJob job(String arg) { + return new VisorCacheClearJob(arg, debug); } /** * Job that clear specified caches. */ - private static class VisorCachesClearJob extends VisorJob, Map>> { + private static class VisorCacheClearJob extends VisorJob> { /** */ private static final long serialVersionUID = 0L; + @JobContextResource + private ComputeJobContext jobCtx; + + /** */ + private final IgniteInClosure> lsnr; + + /** */ + private final IgniteFuture[] futs = new IgniteFuture[3]; + /** * Create job. * - * @param arg Cache names to clear. + * @param cacheName Cache names to clear. * @param debug Debug flag. */ - private VisorCachesClearJob(Set arg, boolean debug) { - super(arg, debug); + private VisorCacheClearJob(String cacheName, boolean debug) { + super(cacheName, debug); + + lsnr = new IgniteInClosure>() { + @Override public void apply(IgniteFuture f) { + assert futs[0].isDone(); + assert futs[1] == null || futs[1].isDone(); + assert futs[2] == null || futs[2].isDone(); + + jobCtx.callcc(); + } + }; } - /** {@inheritDoc} */ - @Override protected Map> run(Set arg) { - Map> res = new HashMap<>(); + /** + * @param subJob Sub job to execute asynchronously. + * @return {@code true} If subJob was not completed and this job should be suspended. + */ + private boolean callAsync(IgniteCallable subJob, int idx) { + IgniteCompute compute = ignite.compute(ignite.forLocal()).withAsync(); - for(GridCache cache : g.cachesx()) { - String cacheName = cache.name(); + compute.call(subJob); - if (arg.contains(cacheName)) { - Set keys = cache.keySet(); + IgniteFuture fut = compute.future(); - int before = keys.size(), after = before; + futs[idx] = fut; - for (Object key : keys) { - if (cache.clearLocally(key)) - after--; - } + if (fut.isDone()) + return false; - res.put(cacheName, new IgniteBiTuple<>(before, after)); - } - } + jobCtx.holdcc(); + + fut.listenAsync(lsnr); + + return true; + } + + /** {@inheritDoc} */ + @Override protected IgniteBiTuple run(final String cacheName) { + if (futs[0] != null && futs[1] != null && futs[2] != null) + return new IgniteBiTuple<>(futs[0].get(), futs[2].get()); - return res; + IgniteCache cache = ignite.jcache(cacheName); + + if (futs[0] == null && callAsync(new VisorCacheSizeCallable(cache), 0)) + return null; + + if (futs[1] == null && callAsync(new VisorCacheClearCallable(cache), 1)) + return null; + + if (futs[2] == null && callAsync(new VisorCacheSizeCallable(cache), 2)) + return null; + + return new IgniteBiTuple<>(futs[0].get(), futs[2].get()); } /** {@inheritDoc} */ @Override public String toString() { - return S.toString(VisorCachesClearJob.class, this); + return S.toString(VisorCacheClearJob.class, this); + } + } + + /** + * Callable to get cache size. + */ + @GridInternal + private static class VisorCacheSizeCallable implements IgniteCallable { + /** */ + private final IgniteCache cache; + + /** + * @param cache Cache to take size from. + */ + private VisorCacheSizeCallable(IgniteCache cache) { + this.cache = cache; + } + + /** {@inheritDoc} */ + @Override public Integer call() throws Exception { + return cache.size(); + } + } + + /** + * Callable to clear cache. + */ + @GridInternal + private static class VisorCacheClearCallable implements IgniteCallable { + /** */ + private final IgniteCache cache; + + /** + * @param cache Cache to clear. + */ + private VisorCacheClearCallable(IgniteCache cache) { + this.cache = cache; + } + + /** {@inheritDoc} */ + @Override public Integer call() throws Exception { + cache.clear(); + + return 0; } } } diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheCompactTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheCompactTask.java index 4c561e5..b20efeb 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheCompactTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheCompactTask.java @@ -59,7 +59,7 @@ public class VisorCacheCompactTask extends VisorOneNodeTask, Map> res = new HashMap<>(); - for(GridCache cache : g.cachesx()) { + for(GridCache cache : ignite.cachesx()) { String cacheName = cache.name(); if (names.contains(cacheName)) { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheLoadTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheLoadTask.java index facaec9..3e395e2 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheLoadTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheLoadTask.java @@ -64,7 +64,7 @@ public class VisorCacheLoadTask extends Map res = new HashMap<>(); - for (GridCache c: g.cachesx()) { + for (GridCache c: ignite.cachesx()) { String cacheName = c.name(); if (cacheNames.contains(cacheName)) { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheMetadataTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheMetadataTask.java index 0e86c33..ea03387 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheMetadataTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheMetadataTask.java @@ -58,7 +58,7 @@ public class VisorCacheMetadataTask extends VisorOneNodeTask cache = g.cachex(cacheName); + GridCache cache = ignite.cachex(cacheName); if (cache != null) { GridCacheQueriesEx queries = (GridCacheQueriesEx) cache.queries(); 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 de82e51..9c18686 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 @@ -88,7 +88,7 @@ public class VisorCacheMetricsCollectorTask extends VisorMultiNodeTask run(IgniteBiTuple arg) { - Collection> caches = arg.get1() ? g.cachesx() : F.asList(g.cachex(arg.get2())); + Collection> caches = arg.get1() ? ignite.cachesx() : F.asList(ignite.cachex(arg.get2())); if (caches != null) { Map res = U.newHashMap(caches.size()); diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCachePreloadTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCachePreloadTask.java index a2e6f34..e0a6e69 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCachePreloadTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCachePreloadTask.java @@ -59,7 +59,7 @@ public class VisorCachePreloadTask extends VisorOneNodeTask, Void> { try { Collection> futs = new ArrayList<>(); - for(GridCache c : g.cachesx()) { + for(GridCache c : ignite.cachesx()) { if (cacheNames.contains(c.name())) futs.add(c.forceRepartition()); } diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheResetMetricsTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheResetMetricsTask.java index c9d182d..11423a3 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheResetMetricsTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheResetMetricsTask.java @@ -52,7 +52,7 @@ public class VisorCacheResetMetricsTask extends VisorOneNodeTask { /** {@inheritDoc} */ @Override protected Void run(String cacheName) { - GridCache cache = g.cachex(cacheName); + GridCache cache = ignite.cachex(cacheName); if (cache != null) cache.mxBean().clear(); diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheSwapBackupsTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheSwapBackupsTask.java index 68e5cd9..14f0b7d 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheSwapBackupsTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheSwapBackupsTask.java @@ -61,7 +61,7 @@ public class VisorCacheSwapBackupsTask extends VisorOneNodeTask, Map @Override protected Map> run(Set names) { Map> total = new HashMap<>(); - for (GridCache c: g.cachesx()) { + for (GridCache c: ignite.cachesx()) { String cacheName = c.name(); if (names.contains(cacheName)) { diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/compute/VisorComputeCancelSessionsTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/compute/VisorComputeCancelSessionsTask.java index cca3933..02fd4f9 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/compute/VisorComputeCancelSessionsTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/compute/VisorComputeCancelSessionsTask.java @@ -63,10 +63,10 @@ public class VisorComputeCancelSessionsTask extends VisorMultiNodeTask> arg) { - Set sesIds = arg.get(g.localNode().id()); + Set sesIds = arg.get(ignite.localNode().id()); if (sesIds != null && !sesIds.isEmpty()) { - IgniteCompute compute = g.compute(g.forLocal()); + IgniteCompute compute = ignite.compute(ignite.forLocal()); Map> futs = compute.activeTaskFutures(); diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/compute/VisorComputeMonitoringHolder.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/compute/VisorComputeMonitoringHolder.java index 1a2dd79..5205f30 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/compute/VisorComputeMonitoringHolder.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/compute/VisorComputeMonitoringHolder.java @@ -44,37 +44,37 @@ public class VisorComputeMonitoringHolder { /** * Start collect events for Visor instance. * - * @param g grid. + * @param ignite Grid. * @param visorKey unique Visor instance key. */ - public void startCollect(IgniteEx g, String visorKey) { + public void startCollect(IgniteEx ignite, String visorKey) { synchronized(listenVisor) { if (cleanupStopped) { - scheduleCleanupJob(g); + scheduleCleanupJob(ignite); cleanupStopped = false; } listenVisor.put(visorKey, true); - g.events().enableLocal(VISOR_TASK_EVTS); + ignite.events().enableLocal(VISOR_TASK_EVTS); } } /** * Check if collect events may be disable. - * @param g grid. + * @param ignite Grid. * @return {@code true} if task events should remain enabled. */ - private boolean tryDisableEvents(IgniteEx g) { + private boolean tryDisableEvents(IgniteEx ignite) { if (!listenVisor.values().contains(true)) { listenVisor.clear(); - g.events().disableLocal(VISOR_TASK_EVTS); + ignite.events().disableLocal(VISOR_TASK_EVTS); } // Return actual state. It could stay the same if events explicitly enabled in configuration. - return g.allEventsUserRecordable(VISOR_TASK_EVTS); + return ignite.allEventsUserRecordable(VISOR_TASK_EVTS); } /** diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/compute/VisorComputeResetMetricsTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/compute/VisorComputeResetMetricsTask.java index 06a1709..c495964 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/compute/VisorComputeResetMetricsTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/compute/VisorComputeResetMetricsTask.java @@ -51,7 +51,7 @@ public class VisorComputeResetMetricsTask extends VisorOneNodeTask { /** {@inheritDoc} */ @Override protected Void run(Void arg) { - g.resetMetrics(); + ignite.resetMetrics(); return null; } diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/compute/VisorComputeToggleMonitoringTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/compute/VisorComputeToggleMonitoringTask.java index 083e2a2..39dfba5 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/compute/VisorComputeToggleMonitoringTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/compute/VisorComputeToggleMonitoringTask.java @@ -72,10 +72,10 @@ public class VisorComputeToggleMonitoringTask extends /** {@inheritDoc} */ @Override protected Boolean run(IgniteBiTuple arg) { - if (checkExplicitTaskMonitoring(g)) + if (checkExplicitTaskMonitoring(ignite)) return true; else { - ClusterNodeLocalMap storage = g.nodeLocalMap(); + ClusterNodeLocalMap storage = ignite.nodeLocalMap(); VisorComputeMonitoringHolder holder = storage.get(COMPUTE_MONITORING_HOLDER_KEY); @@ -94,12 +94,12 @@ public class VisorComputeToggleMonitoringTask extends // Set task monitoring state. if (state) - holder.startCollect(g, visorKey); + holder.startCollect(ignite, visorKey); else - holder.stopCollect(g, visorKey); + holder.stopCollect(ignite, visorKey); // Return actual state. It could stay the same if events explicitly enabled in configuration. - return g.allEventsUserRecordable(VISOR_TASK_EVTS); + return ignite.allEventsUserRecordable(VISOR_TASK_EVTS); } } diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/ggfs/VisorGgfsFormatTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/ggfs/VisorGgfsFormatTask.java index 12e71a5..0d57732 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/ggfs/VisorGgfsFormatTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/ggfs/VisorGgfsFormatTask.java @@ -53,7 +53,7 @@ public class VisorGgfsFormatTask extends VisorOneNodeTask { /** {@inheritDoc} */ @Override protected Void run(String ggfsName) { try { - g.fileSystem(ggfsName).format(); + ignite.fileSystem(ggfsName).format(); } catch (IllegalArgumentException iae) { throw new IgniteException("Failed to format IgniteFs: " + ggfsName, iae); diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/ggfs/VisorGgfsProfilerClearTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/ggfs/VisorGgfsProfilerClearTask.java index cec7ab9..e51691e 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/ggfs/VisorGgfsProfilerClearTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/ggfs/VisorGgfsProfilerClearTask.java @@ -59,7 +59,7 @@ public class VisorGgfsProfilerClearTask extends VisorOneNodeTask run(String arg) { try { - Path logsDir = resolveGgfsProfilerLogsDir(g.fileSystem(arg)); + Path logsDir = resolveGgfsProfilerLogsDir(ignite.fileSystem(arg)); if (logsDir != null) return parse(logsDir, arg); @@ -485,7 +485,7 @@ public class VisorGgfsProfilerTask extends VisorOneNodeTask, Voi @Override protected Void run(Set ggfsNames) { for (String ggfsName: ggfsNames) try { - g.fileSystem(ggfsName).resetMetrics(); + ignite.fileSystem(ggfsName).resetMetrics(); } catch (IllegalArgumentException iae) { throw new IgniteException("Failed to reset metrics for GGFS: " + ggfsName, iae); diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/ggfs/VisorGgfsSamplingStateTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/ggfs/VisorGgfsSamplingStateTask.java index 53c7d0d..fc85cd1 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/ggfs/VisorGgfsSamplingStateTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/ggfs/VisorGgfsSamplingStateTask.java @@ -52,7 +52,7 @@ public class VisorGgfsSamplingStateTask extends VisorOneNodeTask arg) { try { - ((GridGgfsEx)g.fileSystem(arg.get1())).globalSampling(arg.get2()); + ((GridGgfsEx)ignite.fileSystem(arg.get1())).globalSampling(arg.get2()); return null; } diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/log/VisorLogSearchTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/log/VisorLogSearchTask.java index 4cb745e..edfab6f 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/log/VisorLogSearchTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/log/VisorLogSearchTask.java @@ -215,7 +215,7 @@ public class VisorLogSearchTask extends VisorMultiNodeTask results = new ArrayList<>(arg.limit); - int resultCnt = 0; + int resCnt = 0; for (VisorLogFile logFile : matchingFiles) { try { @@ -237,13 +237,13 @@ public class VisorLogSearchTask extends VisorMultiNodeTask> searched = - searchInFile(f, charset, arg.searchStr, arg.limit - resultCnt); + searchInFile(f, charset, arg.searchStr, arg.limit - resCnt); - resultCnt += searched.size(); + resCnt += searched.size(); String path = f.getAbsolutePath().substring(pathIdx); long sz = f.length(), lastModified = f.lastModified(); diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/misc/VisorAckTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/misc/VisorAckTask.java index b1033be..22360c8 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/misc/VisorAckTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/misc/VisorAckTask.java @@ -62,7 +62,7 @@ public class VisorAckTask extends VisorMultiNodeTask { /** {@inheritDoc} */ @Override protected Void run(String arg) { - System.out.println(": ack: " + (arg == null ? g.localNode().id() : arg)); + System.out.println(": ack: " + (arg == null ? ignite.localNode().id() : arg)); return null; } diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/misc/VisorLatestVersionTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/misc/VisorLatestVersionTask.java index 88fa825..bd3ba71 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/misc/VisorLatestVersionTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/misc/VisorLatestVersionTask.java @@ -51,7 +51,7 @@ public class VisorLatestVersionTask extends VisorOneNodeTask { /** {@inheritDoc} */ @Override protected String run(Void arg) { - return g.product().latestVersion(); + return ignite.product().latestVersion(); } /** {@inheritDoc} */ diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorGridConfiguration.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorGridConfiguration.java index 09a1c12..c7bfd3e 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorGridConfiguration.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorGridConfiguration.java @@ -87,15 +87,15 @@ public class VisorGridConfiguration implements Serializable { private Properties sysProps; /** - * @param g Grid. + * @param ignite Grid. * @return Fill data transfer object with node configuration data. */ - public VisorGridConfiguration from(IgniteEx g) { - assert g != null; + public VisorGridConfiguration from(IgniteEx ignite) { + assert ignite != null; - IgniteConfiguration c = g.configuration(); + IgniteConfiguration c = ignite.configuration(); - basic(VisorBasicConfiguration.from(g, c)); + basic(VisorBasicConfiguration.from(ignite, c)); metrics(VisorMetricsConfiguration.from(c)); spis(VisorSpisConfiguration.from(c)); p2p(VisorPeerToPeerConfiguration.from(c)); diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeConfigurationCollectorJob.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeConfigurationCollectorJob.java index 6c53730..e257443 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeConfigurationCollectorJob.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeConfigurationCollectorJob.java @@ -37,7 +37,7 @@ public class VisorNodeConfigurationCollectorJob extends VisorJob storage = g.nodeLocalMap(); + ClusterNodeLocalMap storage = ignite.nodeLocalMap(); VisorComputeMonitoringHolder holder = storage.get(COMPUTE_MONITORING_HOLDER_KEY); @@ -79,14 +79,14 @@ public class VisorNodeDataCollectorJob extends VisorJob run(final VisorNodeEventsCollectorTaskArg arg) { final long startEvtTime = arg.timeArgument() == null ? 0L : System.currentTimeMillis() - arg.timeArgument(); - final ClusterNodeLocalMap nl = g.nodeLocalMap(); + final ClusterNodeLocalMap nl = ignite.nodeLocalMap(); final Long startEvtOrder = arg.keyOrder() != null && nl.containsKey(arg.keyOrder()) ? nl.get(arg.keyOrder()) : -1L; - Collection evts = g.events().localQuery(new IgnitePredicate() { - @Override public boolean apply(Event event) { - return event.localOrder() > startEvtOrder && - (arg.typeArgument() == null || F.contains(arg.typeArgument(), event.type())) && - event.timestamp() >= startEvtTime && - (arg.taskName() == null || filterByTaskName(event, arg.taskName())) && - (arg.taskSessionId() == null || filterByTaskSessionId(event, arg.taskSessionId())); + Collection evts = ignite.events().localQuery(new IgnitePredicate() { + @Override public boolean apply(Event evt) { + return evt.localOrder() > startEvtOrder && + (arg.typeArgument() == null || F.contains(arg.typeArgument(), evt.type())) && + evt.timestamp() >= startEvtTime && + (arg.taskName() == null || filterByTaskName(evt, arg.taskName())) && + (arg.taskSessionId() == null || filterByTaskSessionId(evt, arg.taskSessionId())); } }); diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeGcTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeGcTask.java index d96f191..920336e 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeGcTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodeGcTask.java @@ -71,7 +71,7 @@ public class VisorNodeGcTask extends VisorMultiNodeTask run(Void arg) { - ClusterNode locNode = g.localNode(); + ClusterNode locNode = ignite.localNode(); long before = freeHeap(locNode); diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodePingTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodePingTask.java index cdde1f3..ca70b7e 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodePingTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorNodePingTask.java @@ -69,7 +69,7 @@ public class VisorNodePingTask extends VisorOneNodeTask run(UUID nodeToPing) { long start = System.currentTimeMillis(); - return new GridTuple3<>(g.pingNode(nodeToPing), start, System.currentTimeMillis()); + return new GridTuple3<>(ignite.pingNode(nodeToPing), start, System.currentTimeMillis()); } /** {@inheritDoc} */ diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryCleanupTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryCleanupTask.java index eac83e1..5cf9c1b 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryCleanupTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryCleanupTask.java @@ -85,7 +85,7 @@ public class VisorQueryCleanupTask extends VisorMultiNodeTask qryIds) { - ClusterNodeLocalMap locMap = g.nodeLocalMap(); + ClusterNodeLocalMap locMap = ignite.nodeLocalMap(); for (String qryId : qryIds) locMap.remove(qryId); diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryNextPageTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryNextPageTask.java index 70c585f..c6e5bae 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryNextPageTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryNextPageTask.java @@ -71,7 +71,7 @@ public class VisorQueryNextPageTask extends VisorOneNodeTask arg) throws IgniteCheckedException { long start = U.currentTimeMillis(); - ClusterNodeLocalMap>> storage = g.nodeLocalMap(); + ClusterNodeLocalMap>> storage = ignite.nodeLocalMap(); VisorQueryTask.VisorFutureResultSetHolder> t = storage.get(arg.get1()); @@ -94,7 +94,7 @@ public class VisorQueryNextPageTask extends VisorOneNodeTask arg) throws IgniteCheckedException { long start = U.currentTimeMillis(); - ClusterNodeLocalMap>> storage = g.nodeLocalMap(); + ClusterNodeLocalMap>> storage = ignite.nodeLocalMap(); VisorQueryTask.VisorFutureResultSetHolder> t = storage.get(arg.get1()); diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryTask.java index b6b26e0..4480861 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryTask.java @@ -195,7 +195,7 @@ public class VisorQueryTask extends VisorOneNodeTask c = g.cachex(arg.cacheName()); + GridCache c = ignite.cachex(arg.cacheName()); if (c == null) return new IgniteBiTuple<>(new IgniteCheckedException("Cache not found: " + @@ -206,7 +206,7 @@ public class VisorQueryTask extends VisorOneNodeTask> fut = cp.queries().createScanQuery(null) .pageSize(arg.pageSize()) - .projection(g.forNodeIds(arg.proj())) + .projection(ignite.forNodeIds(arg.proj())) .execute(); long start = U.currentTimeMillis(); @@ -220,19 +220,19 @@ public class VisorQueryTask extends VisorOneNodeTask next = rows.get2(); - g.nodeLocalMap().put(qryId, + ignite.nodeLocalMap().put(qryId, new VisorFutureResultSetHolder<>(fut, next, false)); scheduleResultSetHolderRemoval(qryId); - return new IgniteBiTuple<>(null, new VisorQueryResultEx(g.localNode().id(), qryId, + return new IgniteBiTuple<>(null, new VisorQueryResultEx(ignite.localNode().id(), qryId, VisorQueryUtils.SCAN_COL_NAMES, rows.get1(), next != null, duration)); } else { CacheQueryFuture> fut = ((GridCacheQueriesEx)cp.queries()) .createSqlFieldsQuery(arg.queryTxt(), true) .pageSize(arg.pageSize()) - .projection(g.forNodeIds(arg.proj())) + .projection(ignite.forNodeIds(arg.proj())) .execute(); List firstRow = (List)fut.next(); @@ -260,12 +260,12 @@ public class VisorQueryTask extends VisorOneNodeTasknodeLocalMap().put(qryId, + ignite.nodeLocalMap().put(qryId, new VisorFutureResultSetHolder<>(fut, rows.get2(), false)); scheduleResultSetHolderRemoval(qryId); - return new IgniteBiTuple<>(null, new VisorQueryResultEx(g.localNode().id(), qryId, + return new IgniteBiTuple<>(null, new VisorQueryResultEx(ignite.localNode().id(), qryId, names, rows.get1(), rows.get2() != null, duration)); } } @@ -280,10 +280,10 @@ public class VisorQueryTask extends VisorOneNodeTask storage = g.nodeLocalMap(); + ClusterNodeLocalMap storage = ignite.nodeLocalMap(); VisorFutureResultSetHolder t = storage.get(id); diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/streamer/VisorStreamerMetricsResetTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/streamer/VisorStreamerMetricsResetTask.java index 20a6000..c0ee2b1 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/streamer/VisorStreamerMetricsResetTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/streamer/VisorStreamerMetricsResetTask.java @@ -55,7 +55,7 @@ public class VisorStreamerMetricsResetTask extends VisorOneNodeTask { /** {@inheritDoc} */ @Override protected Void run(String streamerName) { try { - IgniteStreamer streamer = g.streamer(streamerName); + IgniteStreamer streamer = ignite.streamer(streamerName); streamer.reset(); @@ -63,7 +63,7 @@ public class VisorStreamerResetTask extends VisorOneNodeTask { } catch (IllegalArgumentException iae) { throw new IgniteException("Failed to reset streamer: " + escapeName(streamerName) - + " on node: " + g.localNode().id(), iae); + + " on node: " + ignite.localNode().id(), iae); } } diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorTaskUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorTaskUtils.java index 9e87967..35b8c03 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorTaskUtils.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorTaskUtils.java @@ -315,11 +315,11 @@ public class VisorTaskUtils { /** * Checks for explicit events configuration. * - * @param g Grid instance. + * @param ignite Grid instance. * @return {@code true} if all task events explicitly specified in configuration. */ - public static boolean checkExplicitTaskMonitoring(Ignite g) { - int[] evts = g.configuration().getIncludeEventTypes(); + public static boolean checkExplicitTaskMonitoring(Ignite ignite) { + int[] evts = ignite.configuration().getIncludeEventTypes(); if (F.isEmpty(evts)) return false; @@ -342,17 +342,17 @@ public class VisorTaskUtils { /** * Grabs local events and detects if events was lost since last poll. * - * @param g Target grid. + * @param ignite Target grid. * @param evtOrderKey Unique key to take last order key from node local map. * @param evtThrottleCntrKey Unique key to take throttle count from node local map. * @param all If {@code true} then collect all events otherwise collect only non task events. * @return Collections of node events */ - public static Collection collectEvents(Ignite g, String evtOrderKey, String evtThrottleCntrKey, + public static Collection collectEvents(Ignite ignite, String evtOrderKey, String evtThrottleCntrKey, final boolean all) { - assert g != null; + assert ignite != null; - ClusterNodeLocalMap nl = g.cluster().nodeLocalMap(); + ClusterNodeLocalMap nl = ignite.cluster().nodeLocalMap(); final long lastOrder = getOrElse(nl, evtOrderKey, -1L); final long throttle = getOrElse(nl, evtThrottleCntrKey, 0L); @@ -377,7 +377,7 @@ public class VisorTaskUtils { } }; - Collection evts = g.events().localQuery(p); + Collection evts = ignite.events().localQuery(p); // Update latest order in node local, if not empty. if (!evts.isEmpty()) { @@ -395,7 +395,7 @@ public class VisorTaskUtils { Collection res = new ArrayList<>(evts.size() + (lost ? 1 : 0)); if (lost) - res.add(new VisorGridEventsLost(g.cluster().localNode().id())); + res.add(new VisorGridEventsLost(ignite.cluster().localNode().id())); for (Event e : evts) { int tid = e.type(); diff --git a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/ack/VisorAckCommand.scala b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/ack/VisorAckCommand.scala index be888b0..be62eba 100644 --- a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/ack/VisorAckCommand.scala +++ b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/ack/VisorAckCommand.scala @@ -105,9 +105,9 @@ class VisorAckCommand { adviseToConnect() else try { - val nodeIds = grid.nodes().map(_.id()) + val nodeIds = ignite.nodes().map(_.id()) - grid.compute(grid.forNodeIds(nodeIds)) + ignite.compute(ignite.forNodeIds(nodeIds)) .withName("visor-ack") .withNoFailover() .execute(classOf[VisorAckTask], toTaskArgument(nodeIds, msg)) diff --git a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/alert/VisorAlertCommand.scala b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/alert/VisorAlertCommand.scala index 769defd..b5c38c4 100644 --- a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/alert/VisorAlertCommand.scala +++ b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/alert/VisorAlertCommand.scala @@ -257,9 +257,9 @@ class VisorAlertCommand { adviseToConnect() else { // Warn but don't halt. - if (F.isEmpty(grid.configuration().getAdminEmails)) + if (F.isEmpty(ignite.configuration().getAdminEmails)) warn("Admin emails are not configured (ignoring).") - else if (!grid.isSmtpEnabled) + else if (!ignite.isSmtpEnabled) warn("SMTP is not configured (ignoring).") val dfltNodeF = (_: ClusterNode) => true @@ -276,11 +276,11 @@ class VisorAlertCommand { n match { // Grid-wide metrics (not node specific). - case "cc" if v != null => gf = makeGridFilter(v, gf, grid.metrics().getTotalCpus) - case "nc" if v != null => gf = makeGridFilter(v, gf, grid.nodes().size) - case "hc" if v != null => gf = makeGridFilter(v, gf, U.neighborhood(grid.nodes()).size) + case "cc" if v != null => gf = makeGridFilter(v, gf, ignite.metrics().getTotalCpus) + case "nc" if v != null => gf = makeGridFilter(v, gf, ignite.nodes().size) + case "hc" if v != null => gf = makeGridFilter(v, gf, U.neighborhood(ignite.nodes()).size) case "cl" if v != null => gf = makeGridFilter(v, gf, - () => (grid.metrics().getAverageCpuLoad * 100).toLong) + () => (ignite.metrics().getAverageCpuLoad * 100).toLong) // Per-node current metrics. case "aj" if v != null => nf = makeNodeFilter(v, nf, _.metrics().getCurrentActiveJobs) @@ -358,7 +358,7 @@ class VisorAlertCommand { override def apply(evt: Event): Boolean = { val discoEvt = evt.asInstanceOf[DiscoveryEvent] - val node = grid.node(discoEvt.eventNode().id()) + val node = ignite.node(discoEvt.eventNode().id()) if (node != null) alerts foreach (t => { @@ -440,7 +440,7 @@ class VisorAlertCommand { } } - grid.events().localListen(lsnr, EVT_NODE_METRICS_UPDATED) + ignite.events().localListen(lsnr, EVT_NODE_METRICS_UPDATED) } } @@ -451,7 +451,7 @@ class VisorAlertCommand { if (guard.compareAndSet(true, false)) { assert(lsnr != null) - assert(grid.events().stopLocalListen(lsnr)) + assert(ignite.events().stopLocalListen(lsnr)) lsnr = null } @@ -476,7 +476,7 @@ class VisorAlertCommand { assert(n != null) val subj = "Visor alert triggered: '" + a.spec + '\'' - val headline = "Ignite ver. " + grid.product().version() + val headline = "Ignite ver. " + ignite.product().version() val stat = stats(a.id) @@ -499,7 +499,7 @@ class VisorAlertCommand { "First send: " + (if (stat.firstSnd == 0) "n/a" else formatDateTime(stat.firstSnd)) + NL + "Last send: " + (if (stat.lastSnd == 0) "n/a" else formatDateTime(stat.lastSnd)) + NL + "----" + NL + - "Grid name: " + grid.name + NL + "Grid name: " + ignite.name + NL body += "----" + NL + @@ -512,7 +512,7 @@ class VisorAlertCommand { "| support@gridgain.com" + NL // Schedule sending. - grid.sendAdminEmailAsync(subj, body, false) + ignite.sendAdminEmailAsync(subj, body, false) } /** diff --git a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheClearCommand.scala b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheClearCommand.scala index 5566336..49ccbc2 100644 --- a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheClearCommand.scala +++ b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheClearCommand.scala @@ -22,8 +22,6 @@ import org.apache.ignite.internal.visor.util.VisorTaskUtils._ import org.apache.ignite.cluster.ClusterNode -import java.util.Collections - import org.apache.ignite.visor.commands.VisorTextTable import org.apache.ignite.visor.visor import visor._ @@ -103,7 +101,7 @@ class VisorCacheClearCommand { case Some(name) => name } - val prj = if (node.isDefined) grid.forNode(node.get) else grid.forCacheNodes(cacheName) + val prj = if (node.isDefined) ignite.forNode(node.get) else ignite.forCacheNodes(cacheName) if (prj.nodes().isEmpty) { val msg = @@ -117,18 +115,15 @@ class VisorCacheClearCommand { val t = VisorTextTable() - t #= ("Node ID8(@)", "Entries Cleared", "Cache Size Before", "Cache Size After") - - val cacheSet = Collections.singleton(cacheName) + t #= ("Node ID8(@)", "Cache Size Before", "Cache Size After") - prj.nodes().foreach(node => { - val res = grid.compute(grid.forNode(node)) + prj.nodes().headOption.foreach(node => { + val res = ignite.compute(ignite.forNode(node)) .withName("visor-cclear-task") .withNoFailover() - .execute(classOf[VisorCacheClearTask], toTaskArgument(node.id(), cacheSet)) - .get(cacheName) + .execute(classOf[VisorCacheClearTask], toTaskArgument(node.id(), cacheName)) - t += (nodeId8(node.id()), res.get1() - res.get2(), res.get1(), res.get2()) + t += (nodeId8(node.id()), res.get1(), res.get2()) }) println("Cleared cache with name: " + escapeName(cacheName)) diff --git a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheCommand.scala b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheCommand.scala index 87970e1..dcdb07a 100644 --- a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheCommand.scala +++ b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheCommand.scala @@ -360,7 +360,7 @@ class VisorCacheCommand { ciT #= ("Node ID8(@), IP", "CPUs", "Heap Used", "CPU Load", "Up Time", "Size", "Hi/Mi/Rd/Wr") sortData(m.toMap, sortType.getOrElse("hi"), reversed).foreach { case (nid, cm) => { - val nm = grid.node(nid).metrics() + val nm = ignite.node(nid).metrics() ciT += ( nodeId8Addr(nid), @@ -462,11 +462,11 @@ class VisorCacheCommand { assert(node != null) try { - val prj = node.fold(grid.forRemotes())(grid.forNode(_)) + val prj = node.fold(ignite.forRemotes())(ignite.forNode(_)) val nids = prj.nodes().map(_.id()) - grid.compute(prj).execute(classOf[VisorCacheMetricsCollectorTask], toTaskArgument(nids, + ignite.compute(prj).execute(classOf[VisorCacheMetricsCollectorTask], toTaskArgument(nids, new IgniteBiTuple(new JavaBoolean(name.isEmpty), name.orNull))).toList } catch { @@ -482,7 +482,7 @@ class VisorCacheCommand { */ private def config(node: ClusterNode): VisorGridConfiguration = { try - grid.compute(grid.forNode(node)).withNoFailover() + ignite.compute(ignite.forNode(node)).withNoFailover() .execute(classOf[VisorNodeConfigurationCollectorTask], emptyTaskArgument(node.id())) catch { case e: IgniteException => diff --git a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheCompactCommand.scala b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheCompactCommand.scala index 0afef57..83996a7 100644 --- a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheCompactCommand.scala +++ b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheCompactCommand.scala @@ -103,7 +103,7 @@ class VisorCacheCompactCommand { case Some(name) => name } - val prj = if (node.isDefined) grid.forNode(node.get) else grid.forCacheNodes(cacheName) + val prj = if (node.isDefined) ignite.forNode(node.get) else ignite.forCacheNodes(cacheName) if (prj.nodes().isEmpty) { val msg = @@ -122,7 +122,7 @@ class VisorCacheCompactCommand { val cacheSet = Collections.singleton(cacheName) prj.nodes().foreach(node => { - val r = grid.compute(grid.forNode(node)) + val r = ignite.compute(ignite.forNode(node)) .withName("visor-ccompact-task") .withNoFailover() .execute(classOf[VisorCacheCompactTask], toTaskArgument(node.id(), cacheSet)) diff --git a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheScanCommand.scala b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheScanCommand.scala index c36e37c..e4382ab 100644 --- a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheScanCommand.scala +++ b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheScanCommand.scala @@ -139,8 +139,8 @@ class VisorCacheScanCommand { } val cachePrj = node match { - case Some(n) => grid.forNode(n).forCacheNodes(cacheName) - case _ => grid.forCacheNodes(cacheName) + case Some(n) => ignite.forNode(n).forCacheNodes(cacheName) + case _ => ignite.forCacheNodes(cacheName) } if (cachePrj.nodes().isEmpty) { @@ -158,7 +158,7 @@ class VisorCacheScanCommand { val fullRes = try - grid.compute(qryPrj) + ignite.compute(qryPrj) .withName("visor-cscan-task") .withNoFailover() .execute(classOf[VisorQueryTask], @@ -205,7 +205,7 @@ class VisorCacheScanCommand { ask("\nFetch more objects (y/n) [y]:", "y") match { case "y" | "Y" => try { - res = grid.compute(qryPrj) + res = ignite.compute(qryPrj) .withName("visor-cscan-fetch-task") .withNoFailover() .execute(classOf[VisorQueryNextPageTask], diff --git a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheSwapCommand.scala b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheSwapCommand.scala index 79088d0..1e9d683 100644 --- a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheSwapCommand.scala +++ b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheSwapCommand.scala @@ -103,7 +103,7 @@ class VisorCacheSwapCommand { case Some(name) => name } - val prj = if (node.isDefined) grid.forNode(node.get) else grid.forCacheNodes(cacheName) + val prj = if (node.isDefined) ignite.forNode(node.get) else ignite.forCacheNodes(cacheName) if (prj.nodes().isEmpty) { val msg = @@ -122,7 +122,7 @@ class VisorCacheSwapCommand { val cacheSet = Collections.singleton(cacheName) prj.nodes().foreach(node => { - val r = grid.compute(grid.forNode(node)) + val r = ignite.compute(ignite.forNode(node)) .withName("visor-cswap-task") .withNoFailover() .execute(classOf[VisorCacheSwapBackupsTask], toTaskArgument(node.id(), cacheSet)) diff --git a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/config/VisorConfigurationCommand.scala b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/config/VisorConfigurationCommand.scala index a5b1914..6684117 100644 --- a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/config/VisorConfigurationCommand.scala +++ b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/config/VisorConfigurationCommand.scala @@ -188,7 +188,7 @@ class VisorConfigurationCommand { } else if (id.isDefined) try { - node = grid.node(java.util.UUID.fromString(id.get)) + node = ignite.node(java.util.UUID.fromString(id.get)) if (node == null) { scold("'id' does not match any node: " + id.get) @@ -206,7 +206,7 @@ class VisorConfigurationCommand { assert(node != null) val cfg = try - grid.compute(grid.forNode(node)) + ignite.compute(ignite.forNode(node)) .withNoFailover() .execute(classOf[VisorNodeConfigurationCollectorTask], emptyTaskArgument(node.id())) catch { diff --git a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/disco/VisorDiscoveryCommand.scala b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/disco/VisorDiscoveryCommand.scala index 325673c..0b2175c 100644 --- a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/disco/VisorDiscoveryCommand.scala +++ b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/disco/VisorDiscoveryCommand.scala @@ -138,7 +138,7 @@ class VisorDiscoveryCommand { val tm = if (fs.isDefined) timeFilter(fs) else Long.MaxValue if (tm > 0) { - val nodes = grid.nodes() + val nodes = ignite.nodes() if (nodes.isEmpty) { scold("Topology is empty.") @@ -146,7 +146,7 @@ class VisorDiscoveryCommand { return } - val oldest = grid.nodes().maxBy(_.metrics().getUpTime) + val oldest = ignite.nodes().maxBy(_.metrics().getUpTime) val cntOpt = argValue("c", argLst) @@ -220,7 +220,7 @@ class VisorDiscoveryCommand { assert(node != null) assert(!node.isDaemon) - var evts = grid.compute(grid.forNode(node)).execute(classOf[VisorNodeEventsCollectorTask], + var evts = ignite.compute(ignite.forNode(node)).execute(classOf[VisorNodeEventsCollectorTask], toTaskArgument(node.id(), VisorNodeEventsCollectorTaskArg.createEventsArg(EVTS_DISCOVERY, tmFrame))).toSeq val nodeStartTime = node.metrics().getStartTime diff --git a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/events/VisorEventsCommand.scala b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/events/VisorEventsCommand.scala index f8b66dc..a852ffd 100644 --- a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/events/VisorEventsCommand.scala +++ b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/events/VisorEventsCommand.scala @@ -257,7 +257,7 @@ class VisorEventsCommand { } else { val node = try - grid.node(UUID.fromString(id.get)) + ignite.node(UUID.fromString(id.get)) catch { case _: IllegalArgumentException => scold("Invalid node 'id': " + id.get) diff --git a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/gc/VisorGcCommand.scala b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/gc/VisorGcCommand.scala index aafee99..ba5f460 100644 --- a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/gc/VisorGcCommand.scala +++ b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/gc/VisorGcCommand.scala @@ -129,7 +129,7 @@ class VisorGcCommand { } else if (id.isDefined) try { - node = grid.node(UUID.fromString(id.get)) + node = ignite.node(UUID.fromString(id.get)) if (node == null) scold("'id' does not match any node: " + id.get).^^ @@ -143,13 +143,13 @@ class VisorGcCommand { t #= ("Node ID8(@)", "Free Heap Before", "Free Heap After", "Free Heap Delta") - val prj = grid.forRemotes() + val prj = ignite.forRemotes() val nids = prj.nodes().map(_.id()) val NULL: Void = null - grid.compute(prj).withNoFailover().execute(classOf[VisorNodeGcTask], + ignite.compute(prj).withNoFailover().execute(classOf[VisorNodeGcTask], toTaskArgument(nids, NULL)).foreach { case (nid, stat) => val roundHb = stat.get1() / (1024L * 1024L) val roundHa = stat.get2() / (1024L * 1024L) diff --git a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/kill/VisorKillCommand.scala b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/kill/VisorKillCommand.scala index b097791..c3a1bf9 100644 --- a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/kill/VisorKillCommand.scala +++ b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/kill/VisorKillCommand.scala @@ -162,7 +162,7 @@ class VisorKillCommand { } else if (id.isDefined) try { - node = grid.node(java.util.UUID.fromString(id.get)) + node = ignite.node(java.util.UUID.fromString(id.get)) if (node == null) scold("'id' does not match any node : " + args).^^ @@ -185,7 +185,7 @@ class VisorKillCommand { val op = if (restart) "restart" else "kill" try - killOrRestart(if (node == null) grid.nodes().map(_.id()) else Collections.singleton(node.id()), restart) + killOrRestart(if (node == null) ignite.nodes().map(_.id()) else Collections.singleton(node.id()), restart) catch { case _: IgniteException => scold("Failed to " + op + " due to system error.").^^ } diff --git a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/node/VisorNodeCommand.scala b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/node/VisorNodeCommand.scala index d9d7ab9..b74c0f5 100644 --- a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/node/VisorNodeCommand.scala +++ b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/node/VisorNodeCommand.scala @@ -151,7 +151,7 @@ class VisorNodeCommand { } else if (id.isDefined) try - node = grid.node(UUID.fromString(id.get)) + node = ignite.node(UUID.fromString(id.get)) catch { case e: IllegalArgumentException => warn("Invalid node ID: " + id.get).^^ } diff --git a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/ping/VisorPingCommand.scala b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/ping/VisorPingCommand.scala index 65545f0..f8b0608 100644 --- a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/ping/VisorPingCommand.scala +++ b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/ping/VisorPingCommand.scala @@ -54,7 +54,7 @@ private case class Pinger(n: ClusterNode, res: Result) extends Runnable { assert(res != null) override def run() { - val ok = grid.pingNode(n.id()) + val ok = ignite.pingNode(n.id()) res.synchronized { res.total += 1 @@ -133,7 +133,7 @@ class VisorPingCommand { var pings = List.empty[Pinger] if (argLst.isEmpty) - pings ++= grid.nodes().map(Pinger(_, res)) + pings ++= ignite.nodes().map(Pinger(_, res)) else { for (id8 <- argLst) { if (id8._1 != null || id8._2 == null) diff --git a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/start/VisorStartCommand.scala b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/start/VisorStartCommand.scala index 4612775..83c71ef 100644 --- a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/start/VisorStartCommand.scala +++ b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/start/VisorStartCommand.scala @@ -229,7 +229,7 @@ class VisorStartCommand { scold("File is a directory: " + file.getAbsolutePath).^^ try - res = grid.startNodes(file, restart, timeout, maxConn).map(t => { + res = ignite.startNodes(file, restart, timeout, maxConn).map(t => { Result(t.get1, t.get2, t.get3) }).toSeq catch { @@ -285,7 +285,7 @@ class VisorStartCommand { ) try - res = grid.startNodes(asJavaCollection(Seq(params)), null, restart, timeout, maxConn). + res = ignite.startNodes(asJavaCollection(Seq(params)), null, restart, timeout, maxConn). map(t => Result(t.get1, t.get2, t.get3)).toSeq catch { case e: IgniteException => scold(e.getMessage).^^ diff --git a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/tasks/VisorTasksCommand.scala b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/tasks/VisorTasksCommand.scala index 20f121a..2cd532e 100644 --- a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/tasks/VisorTasksCommand.scala +++ b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/tasks/VisorTasksCommand.scala @@ -623,9 +623,9 @@ class VisorTasksCommand { private def list(p: Long, taskName: String, reverse: Boolean, all: Boolean) { breakable { try { - val prj = grid.forRemotes() + val prj = ignite.forRemotes() - val evts = grid.compute(prj).execute(classOf[VisorNodeEventsCollectorTask], + val evts = ignite.compute(prj).execute(classOf[VisorNodeEventsCollectorTask], toTaskArgument(prj.nodes.map(_.id()), VisorNodeEventsCollectorTaskArg.createTasksArg(p, taskName, null))) val (tLst, eLst) = mkData(evts) @@ -831,9 +831,9 @@ class VisorTasksCommand { assert(taskName != null) try { - val prj = grid.forRemotes() + val prj = ignite.forRemotes() - val evts = grid.compute(prj).execute(classOf[VisorNodeEventsCollectorTask], toTaskArgument(prj.nodes.map(_.id()), + val evts = ignite.compute(prj).execute(classOf[VisorNodeEventsCollectorTask], toTaskArgument(prj.nodes.map(_.id()), VisorNodeEventsCollectorTaskArg.createTasksArg(null, taskName, null))) val (tLst, eLst) = mkData(evts) @@ -1008,9 +1008,9 @@ class VisorTasksCommand { } try { - val prj = grid.forRemotes() + val prj = ignite.forRemotes() - val evts = grid.compute(prj).execute(classOf[VisorNodeEventsCollectorTask], toTaskArgument(prj.nodes.map(_.id()), + val evts = ignite.compute(prj).execute(classOf[VisorNodeEventsCollectorTask], toTaskArgument(prj.nodes.map(_.id()), VisorNodeEventsCollectorTaskArg.createTasksArg(null, null, uuid))) val (tLst, eLst) = mkData(evts) @@ -1126,9 +1126,9 @@ class VisorTasksCommand { private def nodes(f: Long) { breakable { try { - val prj = grid.forRemotes() + val prj = ignite.forRemotes() - val evts = grid.compute(prj).execute(classOf[VisorNodeEventsCollectorTask], toTaskArgument(prj.nodes.map(_.id()), + val evts = ignite.compute(prj).execute(classOf[VisorNodeEventsCollectorTask], toTaskArgument(prj.nodes.map(_.id()), VisorNodeEventsCollectorTaskArg.createTasksArg(f, null, null))) val eLst = mkData(evts)._2 @@ -1238,9 +1238,9 @@ class VisorTasksCommand { private def hosts(f: Long) { breakable { try { - val prj = grid.forRemotes() + val prj = ignite.forRemotes() - val evts = grid.compute(prj).execute(classOf[VisorNodeEventsCollectorTask], toTaskArgument(prj.nodes.map(_.id()), + val evts = ignite.compute(prj).execute(classOf[VisorNodeEventsCollectorTask], toTaskArgument(prj.nodes.map(_.id()), VisorNodeEventsCollectorTaskArg.createTasksArg(f, null, null))) val eLst = mkData(evts)._2 @@ -1255,7 +1255,7 @@ class VisorTasksCommand { eLst.foreach(e => { e.nodeIds.foreach(id => { - val host = grid.node(id).addresses.headOption + val host = ignite.node(id).addresses.headOption if (host.isDefined) { var eSet = hMap.getOrElse(host.get, Set.empty[VisorExecution]) diff --git a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/top/VisorTopologyCommand.scala b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/top/VisorTopologyCommand.scala index 87f2ee7..afbd932 100644 --- a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/top/VisorTopologyCommand.scala +++ b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/top/VisorTopologyCommand.scala @@ -227,7 +227,7 @@ class VisorTopologyCommand { assert(f != null) assert(hosts != null) - var nodes = grid.forPredicate(new IgnitePredicate[ClusterNode] { + var nodes = ignite.forPredicate(new IgnitePredicate[ClusterNode] { override def apply(e: ClusterNode) = f(e) }).nodes() @@ -329,15 +329,15 @@ class VisorTopologyCommand { nl() - val m = grid.forNodes(nodes).metrics() + val m = ignite.forNodes(nodes).metrics() val freeHeap = (m.getHeapMemoryMaximum - m.getHeapMemoryUsed) * 100 / m.getHeapMemoryMaximum val sumT = VisorTextTable() - sumT += ("Total hosts", IgniteUtils.neighborhood(grid.nodes()).size) - sumT += ("Total nodes", grid.nodes().size) + sumT += ("Total hosts", IgniteUtils.neighborhood(ignite.nodes()).size) + sumT += ("Total nodes", ignite.nodes().size) sumT += ("Total CPUs", m.getTotalCpus) sumT += ("Avg. CPU load", safePercent(m.getAverageCpuLoad * 100)) sumT += ("Avg. free heap", formatDouble(freeHeap) + " %") diff --git a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/vvm/VisorVvmCommand.scala b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/vvm/VisorVvmCommand.scala index 6edf895..1e72769 100644 --- a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/vvm/VisorVvmCommand.scala +++ b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/vvm/VisorVvmCommand.scala @@ -166,7 +166,7 @@ class VisorVvmCommand { if (id8 != null && id != null) scold("Only one of '-id8' or '-id' is allowed.").^^ else if (id8 == null && id == null) - nodes = grid.forRemotes().nodes().toSeq + nodes = ignite.forRemotes().nodes().toSeq else if (id8 != null) { val ns = nodeById8(id8) @@ -180,7 +180,7 @@ class VisorVvmCommand { } else if (id != null) try { - val node = grid.node(java.util.UUID.fromString(id)) + val node = ignite.node(java.util.UUID.fromString(id)) if (node == null) scold("'id' does not match any node: " + id).^^ @@ -193,7 +193,7 @@ class VisorVvmCommand { var started = false - val neighbors = grid.forHost(grid.localNode).nodes() + val neighbors = ignite.forHost(ignite.localNode).nodes() if (IgniteUtils.isWindows) vvmCmd = "cmd /c \"%s\"".format(vvmCmd) diff --git a/modules/visor-console/src/main/scala/org/apache/ignite/visor/visor.scala b/modules/visor-console/src/main/scala/org/apache/ignite/visor/visor.scala index b8c51a1..fac50aa 100644 --- a/modules/visor-console/src/main/scala/org/apache/ignite/visor/visor.scala +++ b/modules/visor-console/src/main/scala/org/apache/ignite/visor/visor.scala @@ -227,7 +227,7 @@ object visor extends VisorTag { @volatile var cfgPath: String = null /** */ - @volatile var grid: IgniteEx = null + @volatile var ignite: IgniteEx = null /** * Get grid node for specified ID. @@ -237,7 +237,7 @@ object visor extends VisorTag { * @throws IgniteException if Visor is disconnected or node not found. */ def node(nid: UUID): ClusterNode = { - val g = grid + val g = ignite if (g == null) throw new IgniteException("Visor disconnected") @@ -254,7 +254,7 @@ object visor extends VisorTag { Runtime.getRuntime.addShutdownHook(new Thread() { override def run() { try - if (grid != null && isConnected) { + if (ignite != null && isConnected) { // Call all shutdown callbacks. shutdownCbs foreach(_.apply()) @@ -851,7 +851,7 @@ object visor extends VisorTag { } else if (id.isDefined) try { - val node = Option(grid.node(java.util.UUID.fromString(id.get))) + val node = Option(ignite.node(java.util.UUID.fromString(id.get))) if (node.isDefined) Right(node) @@ -1257,7 +1257,7 @@ object visor extends VisorTag { * Gets global projection as an option. */ def gridOpt = - Option(grid) + Option(ignite) def noop() {} @@ -1289,10 +1289,10 @@ object visor extends VisorTag { t += ("Status", if (isCon) "Connected" else "Disconnected") t += ("Grid name", - if (grid == null) + if (ignite == null) "" else { - val n = grid.name + val n = ignite.name if (n == null) "" else n } @@ -1598,7 +1598,7 @@ object visor extends VisorTag { this.cfgPath = cfgPath - grid = + ignite = try Ignition.ignite(startedGridName).asInstanceOf[IgniteEx] catch { @@ -1614,7 +1614,7 @@ object visor extends VisorTag { conOwner = true conTs = System.currentTimeMillis - grid.nodes().foreach(n => { + ignite.nodes().foreach(n => { setVarIfAbsent(nid8(n), "n") val ip = n.addresses().headOption @@ -1629,7 +1629,7 @@ object visor extends VisorTag { case de: DiscoveryEvent => setVarIfAbsent(nid8(de.eventNode()), "n") - val node = grid.node(de.eventNode().id()) + val node = ignite.node(de.eventNode().id()) if (node != null) { val ip = node.addresses().headOption @@ -1650,7 +1650,7 @@ object visor extends VisorTag { } } - grid.events().localListen(nodeJoinLsnr, EVT_NODE_JOINED) + ignite.events().localListen(nodeJoinLsnr, EVT_NODE_JOINED) nodeLeftLsnr = new IgnitePredicate[Event]() { override def apply(e: Event): Boolean = { @@ -1664,7 +1664,7 @@ object visor extends VisorTag { val ip = de.eventNode().addresses.headOption if (ip.isDefined) { - val last = !grid.nodes().exists(n => + val last = !ignite.nodes().exists(n => n.addresses.size > 0 && n.addresses.head == ip.get ) @@ -1681,13 +1681,13 @@ object visor extends VisorTag { } } - grid.events().localListen(nodeLeftLsnr, EVT_NODE_LEFT, EVT_NODE_FAILED) + ignite.events().localListen(nodeLeftLsnr, EVT_NODE_LEFT, EVT_NODE_FAILED) nodeSegLsnr = new IgnitePredicate[Event] { override def apply(e: Event): Boolean = { e match { case de: DiscoveryEvent => - if (de.eventNode().id() == grid.localNode.id) { + if (de.eventNode().id() == ignite.localNode.id) { warn("Closing Visor console due to topology segmentation.") warn("Contact your system administrator.") @@ -1701,11 +1701,11 @@ object visor extends VisorTag { } } - grid.events().localListen(nodeSegLsnr, EVT_NODE_SEGMENTED) + ignite.events().localListen(nodeSegLsnr, EVT_NODE_SEGMENTED) nodeStopLsnr = new IgnitionListener { def onStateChange(name: String, state: IgniteState) { - if (name == grid.name && state == IgniteState.STOPPED) { + if (name == ignite.name && state == IgniteState.STOPPED) { warn("Closing Visor console due to stopping of host grid instance.") nl() @@ -1763,12 +1763,12 @@ object visor extends VisorTag { assert(id != null) assert(isCon) - val g = grid + val g = ignite if (g != null && g.localNode.id == id) "" else { - val n = grid.node(id) + val n = ignite.node(id) val id8 = nid8(id) val v = mfind(id8) @@ -1836,7 +1836,7 @@ object visor extends VisorTag { t #= ("#", "Node ID8(@), IP", "Up Time", "CPUs", "CPU Load", "Free Heap") - val nodes = grid.nodes().toList + val nodes = ignite.nodes().toList if (nodes.isEmpty) { warn("Topology is empty.") @@ -1900,7 +1900,7 @@ object visor extends VisorTag { t #= ("#", "Int./Ext. IPs", "Node ID8(@)", "OS", "CPUs", "MACs", "CPU Load") - val neighborhood = IgniteUtils.neighborhood(grid.nodes()).values().toIndexedSeq + val neighborhood = IgniteUtils.neighborhood(ignite.nodes()).values().toIndexedSeq if (neighborhood.isEmpty) { warn("Topology is empty.") @@ -1958,7 +1958,7 @@ object visor extends VisorTag { None else { try - Some(grid.forNodes(neighborhood(a.toInt))) + Some(ignite.forNodes(neighborhood(a.toInt))) catch { case e: Throwable => warn("Invalid selection: " + a) @@ -2059,7 +2059,7 @@ object visor extends VisorTag { def askNodeId(): Option[String] = { assert(isConnected) - val ids = grid.forRemotes().nodes().map(nid8).toList + val ids = ignite.forRemotes().nodes().map(nid8).toList (0 until ids.size).foreach(i => println((i + 1) + ": " + ids(i))) @@ -2160,23 +2160,23 @@ object visor extends VisorTag { // Call all close callbacks. cbs foreach(_.apply()) - if (grid != null && Ignition.state(grid.name) == IgniteState.STARTED) { + if (ignite != null && Ignition.state(ignite.name) == IgniteState.STARTED) { if (nodeJoinLsnr != null) - grid.events().stopLocalListen(nodeJoinLsnr) + ignite.events().stopLocalListen(nodeJoinLsnr) if (nodeLeftLsnr != null) - grid.events().stopLocalListen(nodeLeftLsnr) + ignite.events().stopLocalListen(nodeLeftLsnr) if (nodeSegLsnr != null) - grid.events().stopLocalListen(nodeSegLsnr) + ignite.events().stopLocalListen(nodeSegLsnr) } if (nodeStopLsnr != null) Ignition.removeListener(nodeStopLsnr) - if (grid != null && conOwner) + if (ignite != null && conOwner) try - Ignition.stop(grid.name, true) + Ignition.stop(ignite.name, true) catch { case e: Exception => warn(e.getMessage) } @@ -2195,7 +2195,7 @@ object visor extends VisorTag { isCon = false conOwner = false conTs = 0 - grid = null + ignite = null nodeJoinLsnr = null nodeLeftLsnr = null nodeSegLsnr = null @@ -2416,7 +2416,7 @@ object visor extends VisorTag { ) override def run() { - val g = grid + val g = ignite if (g != null) { try { @@ -2485,7 +2485,7 @@ object visor extends VisorTag { * Does topology snapshot. */ private def snapshot() { - val g = grid + val g = ignite if (g != null) try @@ -2519,8 +2519,8 @@ object visor extends VisorTag { } logText("H/N/C" + pipe + - IgniteUtils.neighborhood(grid.nodes()).size.toString.padTo(4, ' ') + pipe + - grid.nodes().size().toString.padTo(4, ' ') + pipe + + IgniteUtils.neighborhood(ignite.nodes()).size.toString.padTo(4, ' ') + pipe + + ignite.nodes().size().toString.padTo(4, ' ') + pipe + m.getTotalCpus.toString.padTo(4, ' ') + pipe + bar(m.getAverageCpuLoad, m.getHeapMemoryUsed / m.getHeapMemoryMaximum) + pipe ) @@ -2622,7 +2622,7 @@ object visor extends VisorTag { * @return Collection of nodes that has specified ID8. */ def nodeById8(id8: String) = { - grid.nodes().filter(n => id8.equalsIgnoreCase(nid8(n))) + ignite.nodes().filter(n => id8.equalsIgnoreCase(nid8(n))) } /** diff --git a/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/tasks/VisorTasksCommandSpec.scala b/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/tasks/VisorTasksCommandSpec.scala index 0212d65..9fd91d2 100644 --- a/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/tasks/VisorTasksCommandSpec.scala +++ b/modules/visor-console/src/test/scala/org/apache/ignite/visor/commands/tasks/VisorTasksCommandSpec.scala @@ -46,7 +46,7 @@ class VisorTasksCommandSpec extends FlatSpec with Matchers with BeforeAndAfterAl visor.open(config("grid-visor"), "n/a") try { - val compute = visor.grid.compute().withAsync + val compute = visor.ignite.compute().withAsync compute.withName("TestTask1").execute(new TestTask1(), null) -- 1.9.4.msysgit.0 From f4b6337f936746cc7c3a0ffc4a8c1cafc543031c Mon Sep 17 00:00:00 2001 From: AKuznetsov Date: Wed, 11 Feb 2015 16:00:47 +0700 Subject: [PATCH 2/3] # IGNITE-55 Implemented VisorCacheClearTask with new API + minor renaming. --- .../apache/ignite/visor/commands/events/VisorEventsCommand.scala | 2 +- .../org/apache/ignite/visor/commands/kill/VisorKillCommand.scala | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/events/VisorEventsCommand.scala b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/events/VisorEventsCommand.scala index a852ffd..1100d15 100644 --- a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/events/VisorEventsCommand.scala +++ b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/events/VisorEventsCommand.scala @@ -295,7 +295,7 @@ class VisorEventsCommand { } val evts = try - grid.compute(grid.forNode(node)).execute(classOf[VisorNodeEventsCollectorTask], + ignite.compute(ignite.forNode(node)).execute(classOf[VisorNodeEventsCollectorTask], toTaskArgument(nid, VisorNodeEventsCollectorTaskArg.createEventsArg(tpFilter, tmFilter))) catch { case e: IgniteException => diff --git a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/kill/VisorKillCommand.scala b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/kill/VisorKillCommand.scala index c3a1bf9..e066c6f 100644 --- a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/kill/VisorKillCommand.scala +++ b/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/kill/VisorKillCommand.scala @@ -219,7 +219,7 @@ class VisorKillCommand { val op = if (restart) "restart" else "kill" - if (nodes.size() == grid.nodes().size()) + if (nodes.size() == ignite.nodes().size()) ask("Are you sure you want to " + op + " ALL nodes? (y/n) [n]: ", "n") match { case "y" | "Y" => ask("You are about to " + op + " ALL nodes. " + "Are you 100% sure? (y/n) [n]: ", "n") match { @@ -244,9 +244,9 @@ class VisorKillCommand { } if (restart) - grid.restartNodes(nodes) + ignite.restartNodes(nodes) else - grid.stopNodes(nodes) + ignite.stopNodes(nodes) } /** -- 1.9.4.msysgit.0 From e8d4d6e8fc8ea22488a1a343b9ba324adbaaccd5 Mon Sep 17 00:00:00 2001 From: AKuznetsov Date: Wed, 11 Feb 2015 16:53:13 +0700 Subject: [PATCH 3/3] # IGNITE-55 Minor change of code flow - one return instead of two + execute sub jobs on cache nodes. --- .../internal/visor/cache/VisorCacheClearTask.java | 26 +++++++++++++--------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheClearTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheClearTask.java index 5d5605d..01c5246 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheClearTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheClearTask.java @@ -54,6 +54,9 @@ public class VisorCacheClearTask extends VisorOneNodeTask[] futs = new IgniteFuture[3]; + /** */ + private final String cacheName; + /** * Create job. * @@ -63,6 +66,8 @@ public class VisorCacheClearTask extends VisorOneNodeTask>() { @Override public void apply(IgniteFuture f) { assert futs[0].isDone(); @@ -79,7 +84,7 @@ public class VisorCacheClearTask extends VisorOneNodeTask subJob, int idx) { - IgniteCompute compute = ignite.compute(ignite.forLocal()).withAsync(); + IgniteCompute compute = ignite.compute(ignite.forCacheNodes(cacheName)).withAsync(); compute.call(subJob); @@ -99,19 +104,20 @@ public class VisorCacheClearTask extends VisorOneNodeTask run(final String cacheName) { - if (futs[0] != null && futs[1] != null && futs[2] != null) - return new IgniteBiTuple<>(futs[0].get(), futs[2].get()); + if (futs[0] == null || futs[1] == null || futs[2] == null) { + IgniteCache cache = ignite.jcache(cacheName); - IgniteCache cache = ignite.jcache(cacheName); + if (futs[0] == null && callAsync(new VisorCacheSizeCallable(cache), 0)) + return null; - if (futs[0] == null && callAsync(new VisorCacheSizeCallable(cache), 0)) - return null; + if (futs[1] == null && callAsync(new VisorCacheClearCallable(cache), 1)) + return null; - if (futs[1] == null && callAsync(new VisorCacheClearCallable(cache), 1)) - return null; + if (futs[2] == null && callAsync(new VisorCacheSizeCallable(cache), 2)) + return null; + } - if (futs[2] == null && callAsync(new VisorCacheSizeCallable(cache), 2)) - return null; + assert futs[0].isDone() && futs[1].isDone() && futs[2].isDone(); return new IgniteBiTuple<>(futs[0].get(), futs[2].get()); } -- 1.9.4.msysgit.0