You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ak...@apache.org on 2017/02/13 10:32:28 UTC

[31/31] ignite git commit: IGNITE-4436 WIP.

IGNITE-4436 WIP.


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/ce374cd9
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/ce374cd9
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/ce374cd9

Branch: refs/heads/ignite-4436-2
Commit: ce374cd9e3707458aaf39dc81a824b01879cc36f
Parents: 58cf839
Author: Alexey Kuznetsov <ak...@apache.org>
Authored: Mon Feb 13 17:31:39 2017 +0700
Committer: Alexey Kuznetsov <ak...@apache.org>
Committed: Mon Feb 13 17:31:39 2017 +0700

----------------------------------------------------------------------
 .../processors/query/GridQueryIndexing.java     |  4 +---
 .../processors/query/GridQueryProcessor.java    |  3 +--
 .../visor/query/VisorCancelQueriesTask.java     | 22 +++++++-------------
 .../query/VisorCollectRunningQueriesTask.java   |  8 +++++--
 .../internal/visor/query/VisorRunningQuery.java | 21 +++++++++++++++----
 .../processors/query/h2/IgniteH2Indexing.java   | 17 ++++++++-------
 .../h2/twostep/GridReduceQueryExecutor.java     |  2 +-
 7 files changed, 43 insertions(+), 34 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/ce374cd9/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryIndexing.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryIndexing.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryIndexing.java
index 133bd76..ca04724 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryIndexing.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryIndexing.java
@@ -21,8 +21,6 @@ import java.sql.PreparedStatement;
 import java.sql.SQLException;
 import java.util.Collection;
 import java.util.List;
-import java.util.Set;
-import java.util.UUID;
 import javax.cache.Cache;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.cache.query.QueryCursor;
@@ -255,7 +253,7 @@ public interface GridQueryIndexing {
      *
      * @param queries Queries ID's to cancel.
      */
-    public void cancelQueries(Set<Long> queries);
+    public void cancelQueries(Collection<Long> queries);
 
     /**
      * Cancels all executing queries.

http://git-wip-us.apache.org/repos/asf/ignite/blob/ce374cd9/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java
index 5d415a2..ee9224b 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/query/GridQueryProcessor.java
@@ -44,7 +44,6 @@ import javax.cache.Cache;
 import javax.cache.CacheException;
 import org.apache.ignite.IgniteCheckedException;
 import org.apache.ignite.IgniteException;
-import org.apache.ignite.IgniteSystemProperties;
 import org.apache.ignite.binary.BinaryField;
 import org.apache.ignite.binary.BinaryObject;
 import org.apache.ignite.binary.BinaryObjectBuilder;
@@ -937,7 +936,7 @@ public class GridQueryProcessor extends GridProcessorAdapter {
      *
      * @param queries Queries ID's to cancel.
      */
-    public void cancelQueries(Set<Long> queries) {
+    public void cancelQueries(Collection<Long> queries) {
         if (moduleEnabled())
             idx.cancelQueries(queries);
     }

http://git-wip-us.apache.org/repos/asf/ignite/blob/ce374cd9/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorCancelQueriesTask.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorCancelQueriesTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorCancelQueriesTask.java
index 7b3c33c..a6f2d82 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorCancelQueriesTask.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorCancelQueriesTask.java
@@ -17,28 +17,25 @@
 
 package org.apache.ignite.internal.visor.query;
 
+import java.util.Collection;
 import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.UUID;
 import org.apache.ignite.IgniteException;
 import org.apache.ignite.compute.ComputeJobResult;
 import org.apache.ignite.internal.processors.task.GridInternal;
-import org.apache.ignite.internal.util.typedef.F;
 import org.apache.ignite.internal.visor.VisorJob;
-import org.apache.ignite.internal.visor.VisorMultiNodeTask;
+import org.apache.ignite.internal.visor.VisorOneNodeTask;
 import org.jetbrains.annotations.Nullable;
 
 /**
  * Task to cancel queries.
  */
 @GridInternal
-public class VisorCancelQueriesTask extends VisorMultiNodeTask<Map<UUID, Set<Long>>, Void, Void> {
+public class VisorCancelQueriesTask extends VisorOneNodeTask<Collection<Long>, Void> {
     /** */
     private static final long serialVersionUID = 0L;
 
     /** {@inheritDoc} */
-    @Override protected VisorCancelQueriesJob job(Map<UUID, Set<Long>> arg) {
+    @Override protected VisorCancelQueriesJob job(Collection<Long> arg) {
         return new VisorCancelQueriesJob(arg, debug);
     }
 
@@ -50,7 +47,7 @@ public class VisorCancelQueriesTask extends VisorMultiNodeTask<Map<UUID, Set<Lon
     /**
      * Job to cancel queries on node.
      */
-    private static class VisorCancelQueriesJob extends VisorJob<Map<UUID, Set<Long>>, Void> {
+    private static class VisorCancelQueriesJob extends VisorJob<Collection<Long>, Void> {
         /** */
         private static final long serialVersionUID = 0L;
 
@@ -60,16 +57,13 @@ public class VisorCancelQueriesTask extends VisorMultiNodeTask<Map<UUID, Set<Lon
          * @param arg Job argument.
          * @param debug Flag indicating whether debug information should be printed into node log.
          */
-        protected VisorCancelQueriesJob(@Nullable Map<UUID, Set<Long>> arg, boolean debug) {
+        protected VisorCancelQueriesJob(@Nullable Collection<Long> arg, boolean debug) {
             super(arg, debug);
         }
 
         /** {@inheritDoc} */
-        @Override protected Void run(@Nullable Map<UUID, Set<Long>> arg) throws IgniteException {
-            Set<Long> queries = arg.get(ignite.localNode().id());
-
-            if (!F.isEmpty(queries))
-                ignite.context().query().cancelQueries(queries);
+        @Override protected Void run(@Nullable Collection<Long> queries) throws IgniteException {
+            ignite.context().query().cancelQueries(queries);
 
             return null;
         }

http://git-wip-us.apache.org/repos/asf/ignite/blob/ce374cd9/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorCollectRunningQueriesTask.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorCollectRunningQueriesTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorCollectRunningQueriesTask.java
index 8ac8ace..2b40e61 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorCollectRunningQueriesTask.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorCollectRunningQueriesTask.java
@@ -27,6 +27,7 @@ import org.apache.ignite.IgniteException;
 import org.apache.ignite.compute.ComputeJobResult;
 import org.apache.ignite.internal.processors.query.GridRunningQueryInfo;
 import org.apache.ignite.internal.processors.task.GridInternal;
+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.jetbrains.annotations.Nullable;
@@ -49,7 +50,7 @@ public class VisorCollectRunningQueriesTask extends VisorMultiNodeTask<Long, Map
         Map<UUID, Collection<VisorRunningQuery>> map = new HashMap<>();
 
         for (ComputeJobResult res : results)
-            if (res.getException() != null) {
+            if (res.getException() == null) {
                 Collection<VisorRunningQuery> queries = res.getData();
 
                 map.put(res.getNode().id(), queries);
@@ -82,8 +83,11 @@ public class VisorCollectRunningQueriesTask extends VisorMultiNodeTask<Long, Map
 
             Collection<VisorRunningQuery> res = new ArrayList<>(queries.size());
 
+            long curTime = U.currentTimeMillis();
+
             for (GridRunningQueryInfo qry : queries)
-                res.add(new VisorRunningQuery(qry.id(), qry.query(), qry.queryType(), qry.cache(), qry.startTime(),
+                res.add(new VisorRunningQuery(qry.id(), qry.query(), qry.queryType(), qry.cache(),
+                    qry.startTime(), curTime - qry.startTime(),
                     qry.cancelable(), qry.local()));
 
             return res;

http://git-wip-us.apache.org/repos/asf/ignite/blob/ce374cd9/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorRunningQuery.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorRunningQuery.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorRunningQuery.java
index 5605ea2..fc6bc7a 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorRunningQuery.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorRunningQuery.java
@@ -43,6 +43,9 @@ public class VisorRunningQuery implements Serializable {
     private long startTime;
 
     /** */
+    private long duration;
+
+    /** */
     private boolean cancellable;
 
     /** */
@@ -54,16 +57,19 @@ public class VisorRunningQuery implements Serializable {
      * @param qryType Query type.
      * @param cache Cache where query was executed.
      * @param startTime Query start time.
+     * @param duration Query current duration.
      * @param cancellable {@code true} if query can be canceled.
      * @param loc {@code true} if query is local.
      */
-    public VisorRunningQuery(long id, String qry, GridCacheQueryType qryType, String cache, long startTime,
+    public VisorRunningQuery(long id, String qry, GridCacheQueryType qryType, String cache,
+        long startTime, long duration,
         boolean cancellable, boolean loc) {
         this.id = id;
         this.qry = qry;
         this.qryType = qryType;
         this.cache = cache;
         this.startTime = startTime;
+        this.duration = duration;
         this.cancellable = cancellable;
         this.loc = loc;
     }
@@ -71,21 +77,21 @@ public class VisorRunningQuery implements Serializable {
     /**
      * @return Query ID.
      */
-    public long id() {
+    public long getId() {
         return id;
     }
 
     /**
      * @return Query txt.
      */
-    public String query() {
+    public String getQuery() {
         return qry;
     }
 
     /**
      * @return Query type.
      */
-    public GridCacheQueryType queryType() {
+    public GridCacheQueryType getQueryType() {
         return qryType;
     }
 
@@ -104,6 +110,13 @@ public class VisorRunningQuery implements Serializable {
     }
 
     /**
+     * @return Query duration.
+     */
+    public long getDuration() {
+        return duration;
+    }
+
+    /**
      * @return {@code true} if query can be cancelled.
      */
     public boolean isCancelable() {

http://git-wip-us.apache.org/repos/asf/ignite/blob/ce374cd9/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
index e64c735..e4b0c1f 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/IgniteH2Indexing.java
@@ -48,7 +48,6 @@ import java.util.Iterator;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.Set;
 import java.util.UUID;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentMap;
@@ -2298,15 +2297,17 @@ public class IgniteH2Indexing implements GridQueryIndexing {
     }
 
     /** {@inheritDoc} */
-    @Override public void cancelQueries(Set<Long> queries) {
-        for (Long qryId : queries) {
-            GridRunningQueryInfo run = runs.get(qryId);
+    @Override public void cancelQueries(Collection<Long> queries) {
+        if (!F.isEmpty(queries)) {
+            for (Long qryId : queries) {
+                GridRunningQueryInfo run = runs.get(qryId);
 
-            if (run != null)
-                run.cancel();
-        }
+                if (run != null)
+                    run.cancel();
+            }
 
-        rdcQryExec.cancelQueries(queries);
+            rdcQryExec.cancelQueries(queries);
+        }
     }
 
     /** {@inheritDoc} */

http://git-wip-us.apache.org/repos/asf/ignite/blob/ce374cd9/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java
----------------------------------------------------------------------
diff --git a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java
index 3540141..78cadd2 100644
--- a/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java
+++ b/modules/indexing/src/main/java/org/apache/ignite/internal/processors/query/h2/twostep/GridReduceQueryExecutor.java
@@ -1332,7 +1332,7 @@ public class GridReduceQueryExecutor {
      *
      * @param queries Queries IDs to cancel.
      */
-    public void cancelQueries(Set<Long> queries) {
+    public void cancelQueries(Collection<Long> queries) {
         for (Long qryId : queries) {
             QueryRun run = runs.get(qryId);