This is an automated email from the ASF dual-hosted git repository. mblow pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/asterixdb.git
commit ad58fc2c29391169d7fcd310db7784bf64e04614 Author: Ali Alsuliman <[email protected]> AuthorDate: Tue May 25 20:25:45 2021 +0300 [NO ISSUE][COMP] Fix subplan flush + disable optimization rule - user model changes: no - storage format changes: no - interface changes: yes Details: - disable IntroJoinInsideSubplanRule when blocking operators are disabled - fix flush of subplan to flush its frame to next writer Change-Id: I9269a092aa933327fa6f97dfffcdf888f10dd77b Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/11623 Integration-Tests: Jenkins <[email protected]> Tested-by: Jenkins <[email protected]> Reviewed-by: Ali Alsuliman <[email protected]> Reviewed-by: Till Westmann <[email protected]> --- .../java/org/apache/asterix/metadata/declared/MetadataProvider.java | 1 + .../hyracks/algebricks/core/algebra/metadata/IMetadataProvider.java | 2 ++ .../hyracks/algebricks/rewriter/rules/IntroJoinInsideSubplanRule.java | 3 +++ .../algebricks/runtime/operators/meta/SubplanRuntimeFactory.java | 2 +- 4 files changed, 7 insertions(+), 1 deletion(-) diff --git a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java index 61d48c5..f18992f 100644 --- a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java +++ b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/declared/MetadataProvider.java @@ -228,6 +228,7 @@ public class MetadataProvider implements IMetadataProvider<DataSourceId, String> blockingOperatorDisabled = true; } + @Override public boolean isBlockingOperatorDisabled() { return blockingOperatorDisabled; } diff --git a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/metadata/IMetadataProvider.java b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/metadata/IMetadataProvider.java index 717eac7..c6b7843 100644 --- a/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/metadata/IMetadataProvider.java +++ b/hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/metadata/IMetadataProvider.java @@ -217,4 +217,6 @@ public interface IMetadataProvider<S, I> { public Map<String, Object> getConfig(); + public boolean isBlockingOperatorDisabled(); + } diff --git a/hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/IntroJoinInsideSubplanRule.java b/hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/IntroJoinInsideSubplanRule.java index 3175367..f2532b4 100644 --- a/hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/IntroJoinInsideSubplanRule.java +++ b/hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/IntroJoinInsideSubplanRule.java @@ -44,6 +44,9 @@ public class IntroJoinInsideSubplanRule extends AbstractDecorrelationRule { @Override public boolean rewritePost(Mutable<ILogicalOperator> opRef, IOptimizationContext context) throws AlgebricksException { + if (context.getMetadataProvider().isBlockingOperatorDisabled()) { + return false; + } AbstractLogicalOperator op0 = (AbstractLogicalOperator) opRef.getValue(); if (op0.getOperatorTag() != LogicalOperatorTag.SUBPLAN) { return false; diff --git a/hyracks-fullstack/algebricks/algebricks-runtime/src/main/java/org/apache/hyracks/algebricks/runtime/operators/meta/SubplanRuntimeFactory.java b/hyracks-fullstack/algebricks/algebricks-runtime/src/main/java/org/apache/hyracks/algebricks/runtime/operators/meta/SubplanRuntimeFactory.java index 6e5c2c9..11aefc6 100644 --- a/hyracks-fullstack/algebricks/algebricks-runtime/src/main/java/org/apache/hyracks/algebricks/runtime/operators/meta/SubplanRuntimeFactory.java +++ b/hyracks-fullstack/algebricks/algebricks-runtime/src/main/java/org/apache/hyracks/algebricks/runtime/operators/meta/SubplanRuntimeFactory.java @@ -191,7 +191,7 @@ public class SubplanRuntimeFactory extends AbstractOneInputOneOutputRuntimeFacto @Override public void flush() throws HyracksDataException { - writer.flush(); + appender.flush(writer); } /**
