You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by vo...@apache.org on 2016/11/09 08:39:01 UTC
[47/50] [abbrv] ignite git commit: GG-11360 - Implement SQL queries
cancellation Fix for commit 80abd1b: for distributed joins need always send
cancel request.
GG-11360 - Implement SQL queries cancellation
Fix for commit 80abd1b: for distributed joins need always send cancel request.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/b1c7c9bb
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/b1c7c9bb
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/b1c7c9bb
Branch: refs/heads/master
Commit: b1c7c9bb95c900083702d0ba0362edf3aea5a7b4
Parents: a62a013
Author: sboikov <sb...@gridgain.com>
Authored: Mon Nov 7 15:40:36 2016 +0300
Committer: sboikov <sb...@gridgain.com>
Committed: Mon Nov 7 15:40:36 2016 +0300
----------------------------------------------------------------------
.../h2/twostep/GridReduceQueryExecutor.java | 25 ++++++++++++++------
1 file changed, 18 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/b1c7c9bb/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 3847373..3b851a6 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
@@ -756,7 +756,7 @@ public class GridReduceQueryExecutor {
}
finally {
// Make sure any activity related to current attempt is cancelled.
- cancelRemoteQueriesIfNeeded(nodes, r, qryReqId);
+ cancelRemoteQueriesIfNeeded(nodes, r, qryReqId, qry.distributedJoins());
if (!runs.remove(qryReqId, r))
U.warn(log, "Query run was already removed: " + qryReqId);
@@ -793,15 +793,26 @@ public class GridReduceQueryExecutor {
}
/**
+ * @param nodes Query nodes.
* @param r Query run.
* @param qryReqId Query id.
+ * @param distributedJoins Distributed join flag.
*/
- private void cancelRemoteQueriesIfNeeded(Collection<ClusterNode> nodes, QueryRun r, long qryReqId) {
- for (GridMergeIndex idx : r.idxs) {
- if (!idx.fetchedAll()) {
- send(nodes, new GridQueryCancelRequest(qryReqId), null, false);
-
- break;
+ private void cancelRemoteQueriesIfNeeded(Collection<ClusterNode> nodes,
+ QueryRun r,
+ long qryReqId,
+ boolean distributedJoins)
+ {
+ // For distributedJoins need always send cancel request to cleanup resources.
+ if (distributedJoins)
+ send(nodes, new GridQueryCancelRequest(qryReqId), null, false);
+ else {
+ for (GridMergeIndex idx : r.idxs) {
+ if (!idx.fetchedAll()) {
+ send(nodes, new GridQueryCancelRequest(qryReqId), null, false);
+
+ break;
+ }
}
}
}