Repository: incubator-ignite
Updated Branches:
  refs/heads/ignite-1161 a9eb9da03 -> 5876e0af7


#ignite-1161: replace scheduler with  ignite scheduler.


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

Branch: refs/heads/ignite-1161
Commit: 5876e0af7b95223559bb0f4b16a0b7bef61f1092
Parents: a9eb9da
Author: ivasilinets <ivasilin...@gridgain.com>
Authored: Wed Jul 29 10:13:54 2015 +0300
Committer: ivasilinets <ivasilin...@gridgain.com>
Committed: Wed Jul 29 10:13:54 2015 +0300

----------------------------------------------------------------------
 .../handlers/query/QueryCommandHandler.java     | 25 ++++++++++++++++----
 1 file changed, 21 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/5876e0af/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 ffac32c..f845456 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
@@ -177,7 +177,7 @@ public class QueryCommandHandler extends 
GridRestCommandHandlerAdapter {
                 }
             }
             catch (Exception e) {
-                qryCurs.remove(qryId);
+                removeQueryCursor(qryId);
 
                 return new GridRestResponse(GridRestResponse.STATUS_FAILED, 
e.getMessage());
             }
@@ -233,7 +233,7 @@ public class QueryCommandHandler extends 
GridRestCommandHandlerAdapter {
                 return new GridRestResponse(true);
             }
             catch (Exception e) {
-                qryCurs.remove(req.queryId());
+                removeQueryCursor(req.queryId());
 
                 return new GridRestResponse(GridRestResponse.STATUS_FAILED, 
e.getMessage());
             }
@@ -274,7 +274,7 @@ public class QueryCommandHandler extends 
GridRestCommandHandlerAdapter {
                 }
             }
             catch (Exception e) {
-                qryCurs.remove(req.queryId());
+                removeQueryCursor(req.queryId());
 
                 return new GridRestResponse(GridRestResponse.STATUS_FAILED, 
e.getMessage());
             }
@@ -302,8 +302,25 @@ public class QueryCommandHandler extends 
GridRestCommandHandlerAdapter {
         res.setQueryId(qryId);
 
         if (!cur.hasNext())
-            qryCurs.remove(qryId);
+            removeQueryCursor(qryId);
 
         return res;
     }
+
+    /**
+     * Removes query cursor.
+     *
+     * @param qryId Query id.
+     */
+    private static void removeQueryCursor(Long qryId) {
+        GridTuple3<QueryCursor, Iterator, Long> t = qryCurs.get(qryId);
+
+        if (t != null) {
+            synchronized (t) {
+                t.get1().close();
+
+                qryCurs.remove(qryId);
+            }
+        }
+    }
 }

Reply via email to