Repository: ignite Updated Branches: refs/heads/master 4ef96dd75 -> da9076933
IGNITE-8568 Added support for "Collocated" query mode. Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/da907693 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/da907693 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/da907693 Branch: refs/heads/master Commit: da907693316674d22ab5a44162531f48f111f980 Parents: 4ef96dd Author: Vasiliy Sisko <[email protected]> Authored: Wed May 30 16:55:46 2018 +0700 Committer: Alexey Kuznetsov <[email protected]> Committed: Wed May 30 16:55:46 2018 +0700 ---------------------------------------------------------------------- .../internal/visor/query/VisorQueryTask.java | 1 + .../internal/visor/query/VisorQueryTaskArg.java | 69 ++++++++++++++++++-- 2 files changed, 64 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/da907693/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryTask.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryTask.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryTask.java index 2e32276..b5af1b0 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryTask.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryTask.java @@ -79,6 +79,7 @@ public class VisorQueryTask extends VisorOneNodeTask<VisorQueryTaskArg, VisorEit qry.setPageSize(arg.getPageSize()); qry.setLocal(arg.isLocal()); qry.setDistributedJoins(arg.isDistributedJoins()); + qry.setCollocated(arg.isCollocated()); qry.setEnforceJoinOrder(arg.isEnforceJoinOrder()); qry.setReplicatedOnly(arg.isReplicatedOnly()); qry.setLazy(arg.getLazy()); http://git-wip-us.apache.org/repos/asf/ignite/blob/da907693/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryTaskArg.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryTaskArg.java b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryTaskArg.java index e942880..5220b02 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryTaskArg.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/visor/query/VisorQueryTaskArg.java @@ -55,6 +55,9 @@ public class VisorQueryTaskArg extends VisorDataTransferObject { /** Lazy query execution flag */ private boolean lazy; + /** Collocation flag. */ + private boolean collocated; + /** * Default constructor. */ @@ -71,9 +74,16 @@ public class VisorQueryTaskArg extends VisorDataTransferObject { * @param loc Flag whether to execute query locally. * @param pageSize Result batch size. */ - public VisorQueryTaskArg(String cacheName, String qryTxt, boolean distributedJoins, - boolean enforceJoinOrder, boolean replicatedOnly, boolean loc, int pageSize) { - this(cacheName, qryTxt, distributedJoins, enforceJoinOrder, replicatedOnly, loc, pageSize, false); + public VisorQueryTaskArg( + String cacheName, + String qryTxt, + boolean distributedJoins, + boolean enforceJoinOrder, + boolean replicatedOnly, + boolean loc, + int pageSize + ) { + this(cacheName, qryTxt, distributedJoins, enforceJoinOrder, replicatedOnly, loc, pageSize, false, false); } /** @@ -86,8 +96,41 @@ public class VisorQueryTaskArg extends VisorDataTransferObject { * @param pageSize Result batch size. * @param lazy Lazy query execution flag. */ - public VisorQueryTaskArg(String cacheName, String qryTxt, boolean distributedJoins, - boolean enforceJoinOrder, boolean replicatedOnly, boolean loc, int pageSize, boolean lazy) { + public VisorQueryTaskArg( + String cacheName, + String qryTxt, + boolean distributedJoins, + boolean enforceJoinOrder, + boolean replicatedOnly, + boolean loc, + int pageSize, + boolean lazy + ) { + this(cacheName, qryTxt, distributedJoins, enforceJoinOrder, replicatedOnly, loc, pageSize, lazy, false); + } + + /** + * @param cacheName Cache name for query. + * @param qryTxt Query text. + * @param distributedJoins If {@code true} then distributed joins enabled. + * @param enforceJoinOrder If {@code true} then enforce join order. + * @param replicatedOnly {@code true} then query contains only replicated tables. + * @param loc Flag whether to execute query locally. + * @param pageSize Result batch size. + * @param lazy Lazy query execution flag. + * @param collocated Collocation flag. + */ + public VisorQueryTaskArg( + String cacheName, + String qryTxt, + boolean distributedJoins, + boolean enforceJoinOrder, + boolean replicatedOnly, + boolean loc, + int pageSize, + boolean lazy, + boolean collocated + ) { this.cacheName = cacheName; this.qryTxt = qryTxt; this.distributedJoins = distributedJoins; @@ -96,6 +139,7 @@ public class VisorQueryTaskArg extends VisorDataTransferObject { this.loc = loc; this.pageSize = pageSize; this.lazy = lazy; + this.collocated = collocated; } /** @@ -156,9 +200,18 @@ public class VisorQueryTaskArg extends VisorDataTransferObject { return lazy; } + /** + * Flag indicating if this query is collocated. + * + * @return {@code true} If the query is collocated. + */ + public boolean isCollocated() { + return collocated; + } + /** {@inheritDoc} */ @Override public byte getProtocolVersion() { - return V2; + return V3; } /** {@inheritDoc} */ @@ -170,6 +223,7 @@ public class VisorQueryTaskArg extends VisorDataTransferObject { out.writeBoolean(loc); out.writeInt(pageSize); out.writeBoolean(lazy); + out.writeBoolean(collocated); } /** {@inheritDoc} */ @@ -183,6 +237,9 @@ public class VisorQueryTaskArg extends VisorDataTransferObject { if (protoVer > V1) lazy = in.readBoolean(); + + if (protoVer > V2) + collocated = in.readBoolean(); } /** {@inheritDoc} */
