You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by iv...@apache.org on 2015/07/21 13:25:09 UTC

[15/29] incubator-ignite git commit: #ignite-961: fix comments after review.

#ignite-961: fix comments after review.


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

Branch: refs/heads/ignite-961
Commit: 65c72c5b58bf483d10a6d08513c6848164924fb4
Parents: f93ec69
Author: ivasilinets <iv...@gridgain.com>
Authored: Mon Jul 20 14:43:52 2015 +0300
Committer: ivasilinets <iv...@gridgain.com>
Committed: Mon Jul 20 14:43:52 2015 +0300

----------------------------------------------------------------------
 .../JettyRestProcessorAbstractSelfTest.java     |  2 +-
 .../handlers/query/QueryCommandHandler.java     | 71 +++++++-------------
 2 files changed, 25 insertions(+), 48 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/65c72c5b/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/JettyRestProcessorAbstractSelfTest.java
----------------------------------------------------------------------
diff --git a/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/JettyRestProcessorAbstractSelfTest.java b/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/JettyRestProcessorAbstractSelfTest.java
index c6bf945..f1cfe96 100644
--- a/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/JettyRestProcessorAbstractSelfTest.java
+++ b/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/JettyRestProcessorAbstractSelfTest.java
@@ -1125,7 +1125,7 @@ abstract class JettyRestProcessorAbstractSelfTest extends AbstractRestProcessorS
 
             GridRestCommandHandler qryHnd = handlers.get(GridRestCommand.CLOSE_SQL_QUERY);
 
-            ConcurrentHashMap<Long, Iterator> its = GridTestUtils.getFieldValue(qryHnd, "curs");
+            ConcurrentHashMap<Long, Iterator> its = GridTestUtils.getFieldValue(qryHnd, "qryCurs");
 
             found |= its.size() != 0;
         }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/65c72c5b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/query/QueryCommandHandler.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/query/QueryCommandHandler.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/query/QueryCommandHandler.java
index 1a97995..defca37 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/query/QueryCommandHandler.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/query/QueryCommandHandler.java
@@ -25,6 +25,7 @@ import org.apache.ignite.internal.processors.rest.handlers.*;
 import org.apache.ignite.internal.processors.rest.request.*;
 import org.apache.ignite.internal.util.future.*;
 import org.apache.ignite.internal.util.typedef.internal.*;
+import org.apache.ignite.lang.*;
 
 import java.util.*;
 import java.util.concurrent.*;
@@ -45,11 +46,8 @@ public class QueryCommandHandler extends GridRestCommandHandlerAdapter {
     /** Query ID sequence. */
     private static final AtomicLong qryIdGen = new AtomicLong();
 
-    /** Current queries. */
-    private final ConcurrentHashMap<Long, Iterator> curs = new ConcurrentHashMap<>();
-
     /** Current queries cursors. */
-    private final ConcurrentHashMap<Long, QueryCursor> qryCurs = new ConcurrentHashMap<>();
+    private final ConcurrentHashMap<Long, IgniteBiTuple<QueryCursor, Iterator>> qryCurs = new ConcurrentHashMap<>();
 
     /**
      * @param ctx Context.
@@ -74,17 +72,17 @@ public class QueryCommandHandler extends GridRestCommandHandlerAdapter {
             case EXECUTE_SQL_QUERY:
             case EXECUTE_SQL_FIELDS_QUERY: {
                 return ctx.closure().callLocalSafe(
-                    new ExecuteQueryCallable(ctx, (RestSqlQueryRequest)req, curs, qryCurs), false);
+                    new ExecuteQueryCallable(ctx, (RestSqlQueryRequest)req, qryCurs), false);
             }
 
             case FETCH_SQL_QUERY: {
                 return ctx.closure().callLocalSafe(
-                    new FetchQueryCallable((RestSqlQueryRequest)req, curs, qryCurs), false);
+                    new FetchQueryCallable((RestSqlQueryRequest)req, qryCurs), false);
             }
 
             case CLOSE_SQL_QUERY: {
                 return ctx.closure().callLocalSafe(
-                    new CloseQueryCallable((RestSqlQueryRequest)req, curs, qryCurs), false);
+                    new CloseQueryCallable((RestSqlQueryRequest)req, qryCurs), false);
             }
         }
 
@@ -101,22 +99,18 @@ public class QueryCommandHandler extends GridRestCommandHandlerAdapter {
         /** Execute query request. */
         private RestSqlQueryRequest req;
 
-        /** Queries iterators. */
-        private ConcurrentHashMap<Long, Iterator> curs;
-
         /** Queries cursors. */
-        private ConcurrentHashMap<Long, QueryCursor> qryCurs;
+        private ConcurrentHashMap<Long, IgniteBiTuple<QueryCursor, Iterator>> qryCurs;
 
         /**
          * @param ctx Kernal context.
          * @param req Execute query request.
-         * @param curs Queries cursors.
+         * @param qryCurs Queries cursors.
          */
         public ExecuteQueryCallable(GridKernalContext ctx, RestSqlQueryRequest req,
-            ConcurrentHashMap<Long, Iterator> curs, ConcurrentHashMap<Long, QueryCursor> qryCurs) {
+            ConcurrentHashMap<Long, IgniteBiTuple<QueryCursor, Iterator>> qryCurs) {
             this.ctx = ctx;
             this.req = req;
-            this.curs = curs;
             this.qryCurs = qryCurs;
         }
 
@@ -148,16 +142,14 @@ public class QueryCommandHandler extends GridRestCommandHandlerAdapter {
 
                 Iterator cur = qryCur.iterator();
 
-                qryCurs.put(qryId, qryCur);
-                curs.put(qryId, cur);
+                qryCurs.put(qryId, new IgniteBiTuple<>(qryCur, cur));
 
-                CacheQueryResult res = createQueryResult(qryCurs, curs, cur, req, qryId);
+                CacheQueryResult res = createQueryResult(qryCurs, cur, req, qryId);
 
                 return new GridRestResponse(res);
             }
             catch (Exception e) {
                 qryCurs.remove(qryId);
-                curs.remove(qryId);
 
                 return new GridRestResponse(GridRestResponse.STATUS_FAILED, e.getMessage());
             }
@@ -171,28 +163,23 @@ public class QueryCommandHandler extends GridRestCommandHandlerAdapter {
         /** Execute query request. */
         private RestSqlQueryRequest req;
 
-        /** Queries iterators. */
-        private ConcurrentHashMap<Long, Iterator> curs;
-
         /** Queries cursors. */
-        private ConcurrentHashMap<Long, QueryCursor> qryCurs;
+        private final ConcurrentHashMap<Long, IgniteBiTuple<QueryCursor, Iterator>> qryCurs;
 
         /**
          * @param req Execute query request.
-         * @param curs Queries cursors.
+         * @param qryCurs Queries cursors.
          */
         public CloseQueryCallable(RestSqlQueryRequest req,
-            ConcurrentHashMap<Long, Iterator> curs,
-            ConcurrentHashMap<Long, QueryCursor> qryCurs) {
+            ConcurrentHashMap<Long, IgniteBiTuple<QueryCursor, Iterator>> qryCurs) {
             this.req = req;
-            this.curs = curs;
             this.qryCurs = qryCurs;
         }
 
         /** {@inheritDoc} */
         @Override public GridRestResponse call() throws Exception {
             try {
-                QueryCursor cur = qryCurs.get(req.queryId());
+                QueryCursor cur = qryCurs.get(req.queryId()).get1();
 
                 if (cur == null)
                     return new GridRestResponse(GridRestResponse.STATUS_FAILED,
@@ -201,13 +188,11 @@ public class QueryCommandHandler extends GridRestCommandHandlerAdapter {
                 cur.close();
 
                 qryCurs.remove(req.queryId());
-                curs.remove(req.queryId());
 
                 return new GridRestResponse(true);
             }
             catch (Exception e) {
                 qryCurs.remove(req.queryId());
-                curs.remove(req.queryId());
 
                 return new GridRestResponse(GridRestResponse.STATUS_FAILED, e.getMessage());
             }
@@ -221,38 +206,33 @@ public class QueryCommandHandler extends GridRestCommandHandlerAdapter {
         /** Execute query request. */
         private RestSqlQueryRequest req;
 
-        /** Queries iterators. */
-        private ConcurrentHashMap<Long, Iterator> curs;
-
         /** Queries cursors. */
-        private ConcurrentHashMap<Long, QueryCursor> qryCurs;
+        private final ConcurrentHashMap<Long, IgniteBiTuple<QueryCursor, Iterator>> qryCurs;
 
         /**
          * @param req Execute query request.
-         * @param curs Queries cursors.
+         * @param qryCurs Queries cursors.
          */
-        public FetchQueryCallable(RestSqlQueryRequest req, ConcurrentHashMap<Long, Iterator> curs,
-            ConcurrentHashMap<Long, QueryCursor> qryCurs) {
+        public FetchQueryCallable(RestSqlQueryRequest req,
+            ConcurrentHashMap<Long, IgniteBiTuple<QueryCursor, Iterator>> qryCurs) {
             this.req = req;
-            this.curs = curs;
             this.qryCurs = qryCurs;
         }
 
         /** {@inheritDoc} */
         @Override public GridRestResponse call() throws Exception {
             try {
-                Iterator cur = curs.get(req.queryId());
+                Iterator cur = qryCurs.get(req.queryId()).get2();
 
                 if (cur == null)
                     return new GridRestResponse(GridRestResponse.STATUS_FAILED,
                         "Cannot find query [qryId=" + req.queryId() + "]");
 
-                CacheQueryResult res = createQueryResult(qryCurs, curs, cur, req, req.queryId());
+                CacheQueryResult res = createQueryResult(qryCurs, cur, req, req.queryId());
 
                 return new GridRestResponse(res);
             }
             catch (Exception e) {
-                curs.remove(req.queryId());
                 qryCurs.remove(req.queryId());
 
                 return new GridRestResponse(GridRestResponse.STATUS_FAILED, e.getMessage());
@@ -262,15 +242,14 @@ public class QueryCommandHandler extends GridRestCommandHandlerAdapter {
 
     /**
      * @param qryCurs Query cursors.
-     * @param curs Queries iterators.
      * @param cur Current cursor.
      * @param req Sql request.
      * @param qryId Query id.
      * @return Query result with items.
      */
-    private static CacheQueryResult createQueryResult(ConcurrentHashMap<Long, QueryCursor> qryCurs,
-        ConcurrentHashMap<Long, Iterator> curs, Iterator cur,
-        RestSqlQueryRequest req, Long qryId) {
+    private static CacheQueryResult createQueryResult(
+        ConcurrentHashMap<Long, IgniteBiTuple<QueryCursor, Iterator>> qryCurs,
+        Iterator cur, RestSqlQueryRequest req, Long qryId) {
         CacheQueryResult res = new CacheQueryResult();
 
         List<Object> items = new ArrayList<>();
@@ -284,10 +263,8 @@ public class QueryCommandHandler extends GridRestCommandHandlerAdapter {
 
         res.setQueryId(qryId);
 
-        if (!cur.hasNext()) {
+        if (!cur.hasNext())
             qryCurs.remove(qryId);
-            curs.remove(qryId);
-        }
 
         return res;
     }