Repository: ignite Updated Branches: refs/heads/ignite-3443 aeb4f88f2 -> da7c312ae
IGNITE-3443 WIP. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/da7c312a Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/da7c312a Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/da7c312a Branch: refs/heads/ignite-3443 Commit: da7c312ae1c3192a0f087a00d46e4f055fc00d89 Parents: aeb4f88 Author: AKuznetsov <akuznet...@gridgain.com> Authored: Wed Oct 19 21:57:54 2016 +0700 Committer: AKuznetsov <akuznet...@gridgain.com> Committed: Wed Oct 19 21:57:54 2016 +0700 ---------------------------------------------------------------------- .../ignite/cache/query/QueryDetailsMetrics.java | 20 ++++----- .../GridCacheQueryDetailsMetricsAdapter.java | 46 ++++++++++---------- .../VisorCacheQueryMetricsCollectorTask.java | 4 +- .../internal/visor/util/VisorTaskUtils.java | 22 +++------- .../commands/cache/VisorCacheCommand.scala | 7 +-- 5 files changed, 45 insertions(+), 54 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/da7c312a/modules/core/src/main/java/org/apache/ignite/cache/query/QueryDetailsMetrics.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/cache/query/QueryDetailsMetrics.java b/modules/core/src/main/java/org/apache/ignite/cache/query/QueryDetailsMetrics.java index e15373a..cac9488 100644 --- a/modules/core/src/main/java/org/apache/ignite/cache/query/QueryDetailsMetrics.java +++ b/modules/core/src/main/java/org/apache/ignite/cache/query/QueryDetailsMetrics.java @@ -26,12 +26,12 @@ public interface QueryDetailsMetrics { /** * @return Query type. */ - public GridCacheQueryType queryType(); + public GridCacheQueryType getQueryType(); /** * @return Textual representation of query. */ - public String query(); + public String getQuery(); /** * @return Cache where query was executed. @@ -43,54 +43,54 @@ public interface QueryDetailsMetrics { * * @return Number of executions. */ - public int executions(); + public int getExecutions(); /** * Gets number of completed execution of query. * * @return Number of completed executions. */ - public int completions(); + public int getCompletions(); /** * Gets number of times a query execution failed. * * @return Number of times a query execution failed. */ - public int failures(); + public int getFailures(); /** * Gets minimum execution time of query. * * @return Minimum execution time of query. */ - public long minimumTime(); + public long getMinimumTime(); /** * Gets maximum execution time of query. * * @return Maximum execution time of query. */ - public long maximumTime(); + public long getMaximumTime(); /** * Gets average execution time of query. * * @return Average execution time of query. */ - public double averageTime(); + public double getAverageTime(); /** * Gets total time of all query executions. * * @return Total time of all query executions. */ - public long totalTime(); + public long getTotalTime(); /** * Gets latest query start time. * * @return Latest time query was stared. */ - public long lastStartTime(); + public long getLastStartTime(); } http://git-wip-us.apache.org/repos/asf/ignite/blob/da7c312a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryDetailsMetricsAdapter.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryDetailsMetricsAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryDetailsMetricsAdapter.java index 3b20dd2..a501640 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryDetailsMetricsAdapter.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/query/GridCacheQueryDetailsMetricsAdapter.java @@ -22,6 +22,7 @@ import java.io.IOException; import java.io.ObjectInput; import java.io.ObjectOutput; import org.apache.ignite.cache.query.QueryDetailsMetrics; +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; @@ -80,7 +81,7 @@ public class GridCacheQueryDetailsMetricsAdapter implements QueryDetailsMetrics, * @return Hash code. */ public static Integer queryHashCode(QueryDetailsMetrics m) { - return queryHashCode(m.queryType(), m.query()); + return queryHashCode(m.getQueryType(), m.getQuery()); } /** @@ -108,6 +109,7 @@ public class GridCacheQueryDetailsMetricsAdapter implements QueryDetailsMetrics, * @param duration Duration of queue execution. * @param failed {@code True} query executed unsuccessfully {@code false} otherwise. * @param completed {@code True} query executed unsuccessfully {@code false} otherwise. + * @param cache Cache name where query was executed. */ public void update(long startTime, long duration, boolean failed, boolean completed, String cache) { lastStartTime = startTime; @@ -138,31 +140,31 @@ public class GridCacheQueryDetailsMetricsAdapter implements QueryDetailsMetrics, * @param m Other metrics to take into account. */ public void aggregate(QueryDetailsMetrics m) { - if (lastStartTime < m.lastStartTime()) - lastStartTime = m.lastStartTime(); + if (lastStartTime < m.getLastStartTime()) + lastStartTime = m.getLastStartTime(); - execs += m.executions(); - failures += m.failures(); - completions += m.completions(); + execs += m.getExecutions(); + failures += m.getFailures(); + completions += m.getCompletions(); - totalTime += m.totalTime(); + totalTime += m.getTotalTime(); - if (minTime < 0 || minTime < m.minimumTime()) - minTime = m.maximumTime(); + if (minTime < 0 || minTime > m.getMinimumTime()) + minTime = m.getMinimumTime(); - if (maxTime < m.maximumTime()) - maxTime = m.maximumTime(); + if (maxTime < m.getMaximumTime()) + maxTime = m.getMaximumTime(); cache = m.cache(); } /** {@inheritDoc} */ - @Override public GridCacheQueryType queryType() { + @Override public GridCacheQueryType getQueryType() { return qryType; } /** {@inheritDoc} */ - @Override public String query() { + @Override public String getQuery() { return qry; } @@ -172,44 +174,44 @@ public class GridCacheQueryDetailsMetricsAdapter implements QueryDetailsMetrics, } /** {@inheritDoc} */ - @Override public int executions() { + @Override public int getExecutions() { return execs; } /** {@inheritDoc} */ - @Override public int completions() { + @Override public int getCompletions() { return completions; } /** {@inheritDoc} */ - @Override public int failures() { + @Override public int getFailures() { return failures; } /** {@inheritDoc} */ - @Override public long minimumTime() { + @Override public long getMinimumTime() { return minTime < 0 ? 0 : minTime; } /** {@inheritDoc} */ - @Override public long maximumTime() { + @Override public long getMaximumTime() { return maxTime; } /** {@inheritDoc} */ - @Override public double averageTime() { + @Override public double getAverageTime() { double val = completions; return val > 0 ? totalTime / val : 0; } /** {@inheritDoc} */ - @Override public long totalTime() { + @Override public long getTotalTime() { return totalTime; } /** {@inheritDoc} */ - @Override public long lastStartTime() { + @Override public long getLastStartTime() { return lastStartTime; } @@ -254,7 +256,7 @@ public class GridCacheQueryDetailsMetricsAdapter implements QueryDetailsMetrics, GridCacheQueryDetailsMetricsAdapter other = (GridCacheQueryDetailsMetricsAdapter)o; - return qryType == other.qryType && ((qry == null && other.qry == null) || qry.equals(other.qry)); + return qryType == other.qryType && F.eq(qry, other.qry); } /** {@inheritDoc} */ http://git-wip-us.apache.org/repos/asf/ignite/blob/da7c312a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheQueryMetricsCollectorTask.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheQueryMetricsCollectorTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheQueryMetricsCollectorTask.java index 8cf3b0d..e50d99e 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheQueryMetricsCollectorTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/cache/VisorCacheQueryMetricsCollectorTask.java @@ -95,13 +95,13 @@ public class VisorCacheQueryMetricsCollectorTask extends VisorMultiNodeTask<Long Collection<QueryDetailsMetrics> metrics) { if (!metrics.isEmpty()) { for (QueryDetailsMetrics m : metrics) { - if (m.lastStartTime() > since) { + if (m.getLastStartTime() > since) { Integer qryHashCode = GridCacheQueryDetailsMetricsAdapter.queryHashCode(m); GridCacheQueryDetailsMetricsAdapter aggMetrics = res.get(qryHashCode); if (aggMetrics == null) { - aggMetrics = new GridCacheQueryDetailsMetricsAdapter(m.queryType(), m.query()); + aggMetrics = new GridCacheQueryDetailsMetricsAdapter(m.getQueryType(), m.getQuery()); res.put(qryHashCode, aggMetrics); } http://git-wip-us.apache.org/repos/asf/ignite/blob/da7c312a/modules/core/src/main/java/org/apache/ignite/internal/visor/util/VisorTaskUtils.java ---------------------------------------------------------------------- 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 ce4acb7..1e9346c 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 @@ -173,15 +173,6 @@ public class VisorTaskUtils { } /** - * @param a First name. - * @param b Second name. - * @return {@code true} if both names equals. - */ - public static boolean safeEquals(@Nullable String a, @Nullable String b) { - return (a != null && b != null) ? a.equals(b) : (a == null && b == null); - } - - /** * Concat arrays in one. * * @param arrays Arrays. @@ -637,12 +628,10 @@ public class VisorTaskUtils { else { int toRead = Math.min(blockSz, (int)(fSz - pos)); - byte[] buf = new byte[toRead]; - raf = new RandomAccessFile(file, "r"); - raf.seek(pos); + byte[] buf = new byte[toRead]; int cntRead = raf.read(buf, 0, toRead); if (cntRead != toRead) @@ -887,8 +876,6 @@ public class VisorTaskUtils { try { for (int i = 0; i < nodesToStart; i++) { if (U.isMacOs()) { - StringBuilder envs = new StringBuilder(); - Map<String, String> macEnv = new HashMap<>(System.getenv()); if (envVars != null) { @@ -905,6 +892,8 @@ public class VisorTaskUtils { macEnv.put(ent.getKey(), ent.getValue()); } + StringBuilder envs = new StringBuilder(); + for (Map.Entry<String, String> entry : macEnv.entrySet()) { String val = entry.getValue(); @@ -1024,13 +1013,12 @@ public class VisorTaskUtils { ByteArrayOutputStream bos = new ByteArrayOutputStream(initBufSize); try (ZipOutputStream zos = new ZipOutputStream(bos)) { - ZipEntry entry = new ZipEntry(""); - try { + ZipEntry entry = new ZipEntry(""); + entry.setSize(input.length); zos.putNextEntry(entry); - zos.write(input); } finally { http://git-wip-us.apache.org/repos/asf/ignite/blob/da7c312a/modules/visor-console/src/main/scala/org/apache/ignite/visor/commands/cache/VisorCacheCommand.scala ---------------------------------------------------------------------- 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 1fa185f..04a68ae 100755 --- 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 @@ -22,7 +22,8 @@ import java.util.{Collection => JavaCollection, Collections, UUID} import org.apache.ignite._ import org.apache.ignite.cluster.ClusterNode -import org.apache.ignite.internal.util.typedef._ +import org.apache.ignite.internal.util.lang.{GridFunc => F} +import org.apache.ignite.internal.util.typedef.X import org.apache.ignite.internal.visor.cache._ import org.apache.ignite.internal.visor.util.VisorTaskUtils._ import org.apache.ignite.lang.IgniteBiTuple @@ -287,7 +288,7 @@ class VisorCacheCommand { if (hasArgFlag("scan", argLst)) VisorCacheScanCommand().scan(argLst, node) else { - if (aggrData.nonEmpty && !aggrData.exists(cache => safeEquals(cache.name(), name) && cache.system())) { + if (aggrData.nonEmpty && !aggrData.exists(cache => F.eq(cache.name(), name) && cache.system())) { if (hasArgFlag("clear", argLst)) VisorCacheClearCommand().clear(argLst, node) else if (hasArgFlag("swap", argLst)) @@ -470,7 +471,7 @@ class VisorCacheCommand { println(" Total number of executions: " + ad.execsQuery) println(" Total number of failures: " + ad.failsQuery) - gCfg.foreach(ccfgs => ccfgs.find(ccfg => safeEquals(ccfg.name(), ad.name())) + gCfg.foreach(ccfgs => ccfgs.find(ccfg => F.eq(ccfg.name(), ad.name())) .foreach(ccfg => { nl()