You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by "Wenhai Li (Code Review)" <do...@asterixdb.incubator.apache.org> on 2016/12/11 09:49:07 UTC

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Wenhai Li has uploaded a new change for review.

  https://asterix-gerrit.ics.uci.edu/1381

Change subject: Enable the parallel sort in the optimizor.
......................................................................

Enable the parallel sort in the optimizor.

Based on the MaterializingForwardOperatorDescriptor, enable the parallel sort in full round.
1. Add LogicalOperator Foward to enable MaterializingForwardOperatorDescriptor in the logical optimizor.
2. Introduce hint "psort" before sort to enable the user to use parallel sort.
3. Add the ApplyParalleoSortRule to introduce ReplicateOperator, AggregateOperator, ForwardOperator before SortOperator.
4. Apply ParallelStableSortPOperator into SortOperator if the following conditions are satisfied:
   a. Single column sort.
   b. non-topK condition inlined.

Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
---
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/ParallelStableSortPOperator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggFuncIntoStandaloneAggregateRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetAsterixPhysicalOperatorsRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineAllNtsInSubplanVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineLeftNtsInSubplanJoinFlatteningVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/SubplanSpecialFlatteningCheckVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/AqlPlusExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/FunctionCollection.java
M asterixdb/asterix-algebra/src/main/javacc/AQLPlus.jj
A asterixdb/asterix-app/data/skew/zipfan1.tbl
A asterixdb/asterix-app/data/skew/zipfan2.tbl
M asterixdb/asterix-app/pom.xml
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/AsterixAlgebricksHyracksIntegrationUtil.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/ParallelSortRuntimeTest.java
M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/TestPartitionComputerFactory.java
M asterixdb/asterix-app/src/test/resources/runtimets/only.xml
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_float/avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int16/avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int32/avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int64/avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int8/avg_int8.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-rg/global-rg.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_double/local-avg_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_float/local-avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.1.ddl.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int32/local-avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int64/local-avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int8/local-avg_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-rg/local-rg.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double-null/rg-double-null.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double/rg-double.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/global-rg/global-avg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/local-rg/local-rg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double-null/rg-double-null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double/rg-double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double/rg_double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16/rg_int16.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32/rg_int32.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64/rg_int64.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string/rg_string.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_prime/psort_prime.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
A asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/factory/DelimitedRecordTupleParserFactory.java
M asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj
M asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/clause/OrderbyClause.java
M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/AsterixBuiltinFunctions.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/GlobalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/LocalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RangeGeneratorTypeComputer.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/ScalarVersionOfAggregateResultType.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/histogram/AsterixStreamingHistogram.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateFunction.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalOperatorTag.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/OperatorAnnotations.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/PhysicalOperatorTag.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/ForwardOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/CardinalityInferenceVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismVariableMappingVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalOperatorDeepCopyWithNewVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalPropertiesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/OperatorDeepCopyVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/PrimaryKeyVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/ProducedVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SchemaVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SubstituteVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/UsedVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/visitors/ILogicalOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/AbstractIntroduceCombinerRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/ReplaceNtsWithSubplanInputOperatorVisitor.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksTaskContext.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/ITuplePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/FieldHashPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RandomPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RepartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/FieldRangePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangeMap.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/LocalityAwareMToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningMergingConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningWithMessageConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/HistogramType.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHeapList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/FieldRangeRepartitionComputerFactory.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorNodePushable.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingForwardOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingSampleTaskState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractStreamingHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/DominantQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantileComparator.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinDifferenceQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinSumCountQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/RepartitioningState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/util/HistogramUtils.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/result/ResultFileWriterOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/range/TypeTranslateTest.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan1.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan2.tbl
M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/pom.xml
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramAlgorithmTests.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramFieldType.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HyracksStreamingHistogram.java
M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestTaskContext.java
150 files changed, 16,450 insertions(+), 687 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/81/1381/1


-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Wenhai Li (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/1381

to look at the new patch set (#11).

Change subject: Enable the parallel sort in the optimizor.
......................................................................

Enable the parallel sort in the optimizor.

Based on the MaterializingForwardOperatorDescriptor, enable the parallel sort in full round.
1. Add LogicalOperator Foward to enable MaterializingForwardOperatorDescriptor in the logical optimizor.
2. Introduce hint "psort" before sort to enable the user to use parallel sort.
3. Add the IntroduceParallelSortRule to introduce ReplicateOperator, AggregateOperator, ForwardOperator before SortOperator.
4. Apply ParallelStableSortPOperator into SortOperator if the following conditions are satisfied:
   a. Single column sort.
   b. non-topK condition inlined.
5. Add EnforcePreAdHocReplicateRule to guarantee the consistency of the replicate with forward.
6. Add and partially enable the opt/rtTest cases, including:
   a. Psort on full records.
   b. Psort on a join results.
   c. Nested psort within a subplan below a secondary sort or psort.

Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
---
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/ParallelStableSortPOperator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceParallelSortRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggFuncIntoStandaloneAggregateRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetAsterixPhysicalOperatorsRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineAllNtsInSubplanVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineLeftNtsInSubplanJoinFlatteningVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/SubplanSpecialFlatteningCheckVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/AqlPlusExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/FunctionCollection.java
M asterixdb/asterix-algebra/src/main/javacc/AQLPlus.jj
A asterixdb/asterix-app/data/skew/zipfan1.tbl
A asterixdb/asterix-app/data/skew/zipfan2.tbl
M asterixdb/asterix-app/pom.xml
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/AsterixAlgebricksHyracksIntegrationUtil.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/ParallelSortRuntimeTest.java
M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/TestPartitionComputerFactory.java
M asterixdb/asterix-app/src/test/resources/logging.properties
M asterixdb/asterix-app/src/test/resources/optimizerts/ignore.txt
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_nested.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_prime.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join_nested.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_prime.plan
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_float/avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int16/avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int32/avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int64/avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int8/avg_int8.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-rg/global-rg.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_double/local-avg_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_float/local-avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.1.ddl.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int32/local-avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int64/local-avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int8/local-avg_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-rg/local-rg.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double-null/rg-double-null.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double/rg-double.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/global-rg/global-avg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/local-rg/local-rg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double-null/rg-double-null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double/rg-double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double/rg_double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16/rg_int16.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32/rg_int32.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64/rg_int64.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string/rg_string.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join/psort_join.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_nested/psort_join_nested.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_prime/psort_prime.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
A asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/factory/DelimitedRecordTupleParserFactory.java
M asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj
M asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/clause/OrderbyClause.java
M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/GlobalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/LocalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RangeGeneratorTypeComputer.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/ScalarVersionOfAggregateResultType.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/histogram/AsterixStreamingHistogram.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateFunction.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalOperatorTag.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/OperatorAnnotations.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/PhysicalOperatorTag.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/ForwardOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/CardinalityInferenceVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismVariableMappingVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalOperatorDeepCopyWithNewVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalPropertiesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/OperatorDeepCopyVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/PrimaryKeyVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/ProducedVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SchemaVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SubstituteVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/UsedVariableVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/MaterializingForwardPOperator.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/RangeRepartitionExchangePOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/DelayOrderedPartitionedProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/IPartitioningProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/visitors/ILogicalOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/AbstractIntroduceCombinerRule.java
A hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforcePreAdHocReplicateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/RemoveUnusedAssignAndAggregateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/SetAlgebricksPhysicalOperatorsRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/ReplaceNtsWithSubplanInputOperatorVisitor.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksTaskContext.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/ITuplePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/FieldHashPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RandomPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RepartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/FieldRangePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangeMap.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/LocalityAwareMToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningMergingConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningWithMessageConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/HistogramType.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHeapList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/FieldRangeRepartitionComputerFactory.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorNodePushable.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingForwardOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingSampleTaskState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractStreamingHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/DominantQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantileComparator.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinDifferenceQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinSumCountQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/RepartitioningState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/util/HistogramUtils.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/result/ResultFileWriterOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/range/TypeTranslateTest.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan1.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan2.tbl
M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/pom.xml
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramAlgorithmTests.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramFieldType.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HyracksStreamingHistogram.java
M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestTaskContext.java
183 files changed, 18,182 insertions(+), 692 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/81/1381/11
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 11
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 3:

WARNING: THIS CHANGE CONTAINS CROSS-PRODUCT CHANGES IN:
* asterixdb
* hyracks-fullstack

PLEASE REVIEW CAREFULLY AND LOOK FOR API CHANGES!

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 43:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/4326/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 43
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 12:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/3710/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 12
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Wenhai Li (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/1381

to look at the new patch set (#37).

Change subject: Enable the parallel sort in the optimizor.
......................................................................

Enable the parallel sort in the optimizor.

Based on the MaterializingForwardOperatorDescriptor, enable the parallel sort in full round.
1. Add LogicalOperator Foward to enable MaterializingForwardOperatorDescriptor in the logical optimizor.
2. Introduce hint "psort" before sort to enable the user to use parallel sort.
3. Add the IntroduceParallelSortRule to introduce ReplicateOperator, AggregateOperator, ForwardOperator before SortOperator.
4. Apply ParallelStableSortPOperator into SortOperator if the following conditions are satisfied:
   a. Single column sort.
   b. non-topK condition inlined.
5. Add EnforcePreAdHocReplicateRule to guarantee the consistency of the replicate with forward.
6. Add and partially enable the opt/rtTest cases, including:
   a. Psort on full records.
   b. Psort on a join results.
   c. Nested psort within a subplan below a secondary sort or psort.
7. Use binarySearch in the two RangePartitioners.

Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
---
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/ParallelStableSortPOperator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceParallelSortRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggFuncIntoStandaloneAggregateRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetAsterixPhysicalOperatorsRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineAllNtsInSubplanVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineLeftNtsInSubplanJoinFlatteningVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/SubplanSpecialFlatteningCheckVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/AqlPlusExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/FunctionCollection.java
M asterixdb/asterix-algebra/src/main/javacc/AQLPlus.jj
A asterixdb/asterix-app/data/skew/zipfan1.tbl
A asterixdb/asterix-app/data/skew/zipfan2.tbl
A asterixdb/asterix-app/data/skew/zipfanmissing_1.tbl
A asterixdb/asterix-app/data/skew/zipfanmissing_2.tbl
A asterixdb/asterix-app/data/skew/zipfannull_1.tbl
A asterixdb/asterix-app/data/skew/zipfannull_2.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part1.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part2.tbl
M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/resource/RequiredCapacityVisitor.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/AsterixAlgebricksHyracksIntegrationUtil.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/ParallelSortRuntimeTest.java
M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/TestPartitionComputerFactory.java
M asterixdb/asterix-app/src/test/resources/logging.properties
M asterixdb/asterix-app/src/test/resources/optimizerts/ignore.txt
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_nested.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_prime.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join_nested.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_prime.plan
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_float/avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int16/avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int32/avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int64/avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int8/avg_int8.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-rg/global-rg.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_double/local-avg_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_float/local-avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.1.ddl.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int32/local-avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int64/local-avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int8/local-avg_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-rg/local-rg.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double-null/rg-double-null.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double/rg-double.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.2.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.3.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.4.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/global-rg/global-avg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/local-rg/local-rg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double-null/rg-double-null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double/rg-double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double/rg_double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double_missing/rg_double_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16/rg_int16.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_missing/rg_int16_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_null/rg_int16_null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_seminull/rg_int16_seminull.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32/rg_int32.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32_missing/rg_int32_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64/rg_int64.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64_missing/rg_int64_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_shipdate/rg_shipdate.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string/rg_string.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string_missing/rg_string_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join/psort_join.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_nested/psort_join_nested.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_result/psort_join_result.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_prime/psort_prime.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/range-hints/order-by-exception_03/order-by-exception_03.4.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
A asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/factory/DelimitedRecordTupleParserFactory.java
M asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj
M asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/clause/OrderbyClause.java
M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/GlobalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/LocalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RangeGeneratorTypeComputer.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/ScalarVersionOfAggregateResultType.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/histogram/AsterixStreamingHistogram.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/sample/SamplingForwardOperatorDescriptor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalOperatorTag.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/OperatorAnnotations.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/PhysicalOperatorTag.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/ForwardOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/CardinalityInferenceVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismVariableMappingVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalOperatorDeepCopyWithNewVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalPropertiesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/OperatorDeepCopyVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/PrimaryKeyVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/ProducedVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SchemaVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SubstituteVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/UsedVariableVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/MaterializingForwardPOperator.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/RangeRepartitionExchangePOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/DelayOrderedPartitionedProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/IPartitioningProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/visitors/ILogicalOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/AbstractIntroduceCombinerRule.java
A hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforcePreAdHocReplicateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/RemoveUnusedAssignAndAggregateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/SetAlgebricksPhysicalOperatorsRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/ReplaceNtsWithSubplanInputOperatorVisitor.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksTaskContext.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/ITuplePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/FieldHashPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RandomPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RepartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/FieldRangePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangeMap.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/LocalityAwareMToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningMergingConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningWithMessageConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/HistogramType.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHeapList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/FieldRangeRepartitionComputerFactory.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorNodePushable.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingSampleTaskState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractStreamingHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/DominantQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantileComparator.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinDifferenceQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinSumCountQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/RepartitioningState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/util/HistogramUtils.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/result/ResultFileWriterOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/range/TypeTranslateTest.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/prefix.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan1.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan2.tbl
M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/pom.xml
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramAlgorithmTests.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramFieldType.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HyracksStreamingHistogram.java
M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestTaskContext.java
238 files changed, 27,425 insertions(+), 698 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/81/1381/37
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 37
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Wenhai Li (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/1381

to look at the new patch set (#3).

Change subject: Enable the parallel sort in the optimizor.
......................................................................

Enable the parallel sort in the optimizor.

Based on the MaterializingForwardOperatorDescriptor, enable the parallel sort in full round.
1. Add LogicalOperator Foward to enable MaterializingForwardOperatorDescriptor in the logical optimizor.
2. Introduce hint "psort" before sort to enable the user to use parallel sort.
3. Add the ApplyParalleoSortRule to introduce ReplicateOperator, AggregateOperator, ForwardOperator before SortOperator.
4. Apply ParallelStableSortPOperator into SortOperator if the following conditions are satisfied:
   a. Single column sort.
   b. non-topK condition inlined.

Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
---
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/ParallelStableSortPOperator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggFuncIntoStandaloneAggregateRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetAsterixPhysicalOperatorsRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineAllNtsInSubplanVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineLeftNtsInSubplanJoinFlatteningVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/SubplanSpecialFlatteningCheckVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/AqlPlusExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/FunctionCollection.java
M asterixdb/asterix-algebra/src/main/javacc/AQLPlus.jj
A asterixdb/asterix-app/data/skew/zipfan1.tbl
A asterixdb/asterix-app/data/skew/zipfan2.tbl
M asterixdb/asterix-app/pom.xml
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/AsterixAlgebricksHyracksIntegrationUtil.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/ParallelSortRuntimeTest.java
M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/TestPartitionComputerFactory.java
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_float/avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int16/avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int32/avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int64/avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int8/avg_int8.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-rg/global-rg.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_double/local-avg_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_float/local-avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.1.ddl.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int32/local-avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int64/local-avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int8/local-avg_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-rg/local-rg.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double-null/rg-double-null.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double/rg-double.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/global-rg/global-avg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/local-rg/local-rg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double-null/rg-double-null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double/rg-double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double/rg_double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16/rg_int16.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32/rg_int32.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64/rg_int64.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string/rg_string.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_prime/psort_prime.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
A asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/factory/DelimitedRecordTupleParserFactory.java
M asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj
M asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/clause/OrderbyClause.java
M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/AsterixBuiltinFunctions.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/GlobalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/LocalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RangeGeneratorTypeComputer.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/ScalarVersionOfAggregateResultType.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/histogram/AsterixStreamingHistogram.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateFunction.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalOperatorTag.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/OperatorAnnotations.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/PhysicalOperatorTag.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/ForwardOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/CardinalityInferenceVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismVariableMappingVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalOperatorDeepCopyWithNewVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalPropertiesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/OperatorDeepCopyVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/PrimaryKeyVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/ProducedVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SchemaVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SubstituteVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/UsedVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/visitors/ILogicalOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/AbstractIntroduceCombinerRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/ReplaceNtsWithSubplanInputOperatorVisitor.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksTaskContext.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/ITuplePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/FieldHashPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RandomPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RepartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/FieldRangePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangeMap.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/LocalityAwareMToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningMergingConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningWithMessageConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/HistogramType.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHeapList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/FieldRangeRepartitionComputerFactory.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorNodePushable.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingForwardOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingSampleTaskState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractStreamingHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/DominantQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantileComparator.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinDifferenceQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinSumCountQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/RepartitioningState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/util/HistogramUtils.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/result/ResultFileWriterOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/range/TypeTranslateTest.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan1.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan2.tbl
M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/pom.xml
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramAlgorithmTests.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramFieldType.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HyracksStreamingHistogram.java
M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestTaskContext.java
149 files changed, 16,480 insertions(+), 686 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/81/1381/3
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 30:

Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/1683/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 30
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Wenhai Li (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/1381

to look at the new patch set (#51).

Change subject: Enable the parallel sort in the optimizor.
......................................................................

Enable the parallel sort in the optimizor.

Based on the MaterializingForwardOperatorDescriptor, enable the parallel sort in full round.
1. Add LogicalOperator Foward to enable MaterializingForwardOperatorDescriptor in the logical optimizor.
2. Introduce hint "psort" before sort to enable the user to use parallel sort.
3. Add the IntroduceParallelSortRule to introduce ReplicateOperator, AggregateOperator, ForwardOperator before SortOperator.
4. Apply ParallelStableSortPOperator into SortOperator if the following conditions are satisfied:
   a. Single column sort.
   b. non-topK condition inlined.
5. Add EnforcePreAdHocReplicateRule to guarantee the consistency of the replicate with forward.
6. Add and partially enable the opt/rtTest cases, including:
   a. Psort on full records.
   b. Psort on a join results.
   c. Nested psort within a subplan below a secondary sort or psort.
7. Use binarySearch in two RangePartitioners.

Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
---
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/ParallelStableSortPOperator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceParallelSortRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggFuncIntoStandaloneAggregateRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetAsterixPhysicalOperatorsRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineAllNtsInSubplanVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineLeftNtsInSubplanJoinFlatteningVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/SubplanSpecialFlatteningCheckVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/FunctionCollection.java
A asterixdb/asterix-app/data/skew/zipfian.tbl
A asterixdb/asterix-app/data/skew/zipfian1.tbl
A asterixdb/asterix-app/data/skew/zipfian2.tbl
A asterixdb/asterix-app/data/skew/zipfianmissing_1.tbl
A asterixdb/asterix-app/data/skew/zipfianmissing_2.tbl
A asterixdb/asterix-app/data/skew/zipfiannull_1.tbl
A asterixdb/asterix-app/data/skew/zipfiannull_2.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part1.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part2.tbl
M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/resource/RequiredCapacityVisitor.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/AsterixAlgebricksHyracksIntegrationUtil.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/ParallelSortRuntimeTest.java
M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/TestPartitionComputerFactory.java
M asterixdb/asterix-app/src/test/resources/logging.properties
M asterixdb/asterix-app/src/test/resources/optimizerts/ignore.txt
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_nested.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_prime.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join_nested.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_prime.plan
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_float/avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int16/avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int32/avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int64/avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int8/avg_int8.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-rg/global-rg.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_double/local-avg_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_float/local-avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.1.ddl.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int32/local-avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int64/local-avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int8/local-avg_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-rg/local-rg.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double-null/rg-double-null.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double/rg-double.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.4.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/load/rg_load/rg_load.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/load/rg_load/rg_load.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/load/rg_load/rg_load.3.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.2.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.3.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.4.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/global-rg/global-avg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/local-rg/local-rg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double-null/rg-double-null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double/rg-double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double/rg_double.3.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double_missing/rg_double_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16/rg_int16.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_missing/rg_int16_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_null/rg_int16_null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_seminull/rg_int16_seminull.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32/rg_int32.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32_missing/rg_int32_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64/rg_int64.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64_missing/rg_int64_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_shipdate/rg_shipdate.3.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_shipdate/rg_shipdate.4.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string/rg_string.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string_missing/rg_string_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join/psort_join.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_nested/psort_join_nested.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_result/psort_join_result.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_prime/psort_prime.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/range-hints/order-by-exception_03/order-by-exception_03.4.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
A asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/factory/DelimitedRecordTupleParserFactory.java
M asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj
M asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/clause/OrderbyClause.java
M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/GlobalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/LocalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RangeGeneratorTypeComputer.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/ScalarVersionOfAggregateResultType.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/histogram/AsterixStreamingHistogram.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/sample/SamplingForwardOperatorDescriptor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalOperatorTag.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/OperatorAnnotations.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/PhysicalOperatorTag.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/ForwardOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/CardinalityInferenceVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismVariableMappingVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalOperatorDeepCopyWithNewVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalPropertiesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/OperatorDeepCopyVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/PrimaryKeyVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/ProducedVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SchemaVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SubstituteVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/UsedVariableVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/MaterializingForwardPOperator.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/RangeRepartitionExchangePOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/DelayOrderedPartitionedProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/IPartitioningProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/visitors/ILogicalOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/AbstractIntroduceCombinerRule.java
A hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforcePreAdHocReplicateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/RemoveUnusedAssignAndAggregateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/SetAlgebricksPhysicalOperatorsRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/ReplaceNtsWithSubplanInputOperatorVisitor.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksTaskContext.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/ITuplePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/FieldHashPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RandomPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RepartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/FieldRangePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangeMap.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/LocalityAwareMToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningMergingConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningWithMessageConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/HistogramType.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHeapList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/FieldRangeRepartitionComputerFactory.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorNodePushable.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingSampleTaskState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractStreamingHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/DominantQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantileComparator.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinDifferenceQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinSumCountQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/RepartitioningState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/util/HistogramUtils.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/result/ResultFileWriterOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/range/TypeTranslateTest.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/prefix.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfian1.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfian2.tbl
M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/pom.xml
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramAlgorithmTests.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramFieldType.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HyracksStreamingHistogram.java
M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestTaskContext.java
242 files changed, 27,888 insertions(+), 695 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/81/1381/51
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 51
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 56:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-sonar/7400/ (7/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 56
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizer.

Posted by "Wenhai Li (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/1381

to look at the new patch set (#16).

Change subject: Enable the parallel sort in the optimizer.
......................................................................

Enable the parallel sort in the optimizer.

Based on the MaterializingForwardOperatorDescriptor, enable the parallel sort in full round.
1. Add LogicalOperator Forward to enable MaterializingForwardOperatorDescriptor in the logical optimizor.
2. Introduce hint "psort" on sort to enable the user to use parallel sort.
3. Add the IntroduceParallelSortRule to introduce ReplicateOperator, AggregateOperator, ForwardOperator before SortOperator.
4. Apply ParallelStableSortPOperator into SortOperator if the following conditions are satisfied:
   a. Single column sort.
   b. non-topK condition inlined.
5. Add EnforcePreAdHocReplicateRule to guarantee the consistency of the replicate with forward.
6. Add and partially enable the opt/rt Test cases, including:
   a. Psort on full records.
   b. Psort on a join results.
   c. Nested psort within a subplan below a secondary sort or psort.

Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
---
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/ParallelStableSortPOperator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceParallelSortRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggFuncIntoStandaloneAggregateRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetAsterixPhysicalOperatorsRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineAllNtsInSubplanVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineLeftNtsInSubplanJoinFlatteningVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/SubplanSpecialFlatteningCheckVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/AqlPlusExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/FunctionCollection.java
M asterixdb/asterix-algebra/src/main/javacc/AQLPlus.jj
A asterixdb/asterix-app/data/skew/zipfan1.tbl
A asterixdb/asterix-app/data/skew/zipfan2.tbl
M asterixdb/asterix-app/pom.xml
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/AsterixAlgebricksHyracksIntegrationUtil.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/ParallelSortRuntimeTest.java
M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/TestPartitionComputerFactory.java
M asterixdb/asterix-app/src/test/resources/logging.properties
M asterixdb/asterix-app/src/test/resources/optimizerts/ignore.txt
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_nested.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_prime.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join_nested.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_prime.plan
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_float/avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int16/avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int32/avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int64/avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int8/avg_int8.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-rg/global-rg.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_double/local-avg_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_float/local-avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.1.ddl.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int32/local-avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int64/local-avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int8/local-avg_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-rg/local-rg.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double-null/rg-double-null.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double/rg-double.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/global-rg/global-avg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/local-rg/local-rg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double-null/rg-double-null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double/rg-double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double/rg_double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16/rg_int16.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32/rg_int32.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64/rg_int64.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string/rg_string.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join/psort_join.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_nested/psort_join_nested.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_prime/psort_prime.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
A asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/factory/DelimitedRecordTupleParserFactory.java
M asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj
M asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/clause/OrderbyClause.java
M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/GlobalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/LocalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RangeGeneratorTypeComputer.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/ScalarVersionOfAggregateResultType.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/histogram/AsterixStreamingHistogram.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateFunction.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalOperatorTag.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/OperatorAnnotations.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/PhysicalOperatorTag.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/ForwardOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/CardinalityInferenceVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismVariableMappingVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalOperatorDeepCopyWithNewVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalPropertiesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/OperatorDeepCopyVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/PrimaryKeyVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/ProducedVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SchemaVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SubstituteVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/UsedVariableVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/MaterializingForwardPOperator.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/RangeRepartitionExchangePOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/DelayOrderedPartitionedProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/IPartitioningProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/visitors/ILogicalOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/AbstractIntroduceCombinerRule.java
A hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforcePreAdHocReplicateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/RemoveUnusedAssignAndAggregateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/SetAlgebricksPhysicalOperatorsRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/ReplaceNtsWithSubplanInputOperatorVisitor.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksTaskContext.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/ITuplePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/FieldHashPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RandomPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RepartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/FieldRangePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangeMap.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/LocalityAwareMToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningMergingConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningWithMessageConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/HistogramType.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHeapList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/FieldRangeRepartitionComputerFactory.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorNodePushable.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingForwardOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingSampleTaskState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractStreamingHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/DominantQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantileComparator.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinDifferenceQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinSumCountQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/RepartitioningState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/util/HistogramUtils.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/result/ResultFileWriterOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/range/TypeTranslateTest.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan1.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan2.tbl
M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/pom.xml
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramAlgorithmTests.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramFieldType.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HyracksStreamingHistogram.java
M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestTaskContext.java
183 files changed, 18,182 insertions(+), 692 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/81/1381/16
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 16
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Wenhai Li (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/1381

to look at the new patch set (#21).

Change subject: Enable the parallel sort in the optimizor.
......................................................................

Enable the parallel sort in the optimizor.

Based on the MaterializingForwardOperatorDescriptor, enable the parallel sort in full round.
1. Add LogicalOperator Foward to enable MaterializingForwardOperatorDescriptor in the logical optimizor.
2. Introduce hint "psort" before sort to enable the user to use parallel sort.
3. Add the IntroduceParallelSortRule to introduce ReplicateOperator, AggregateOperator, ForwardOperator before SortOperator.
4. Apply ParallelStableSortPOperator into SortOperator if the following conditions are satisfied:
   a. Single column sort.
   b. non-topK condition inlined.
5. Add EnforcePreAdHocReplicateRule to guarantee the consistency of the replicate with forward.
6. Add and partially enable the opt/rtTest cases, including:
   a. Psort on full records.
   b. Psort on a join results.
   c. Nested psort within a subplan below a secondary sort or psort.

Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
---
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/ParallelStableSortPOperator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceParallelSortRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggFuncIntoStandaloneAggregateRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetAsterixPhysicalOperatorsRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineAllNtsInSubplanVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineLeftNtsInSubplanJoinFlatteningVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/SubplanSpecialFlatteningCheckVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/AqlPlusExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/FunctionCollection.java
M asterixdb/asterix-algebra/src/main/javacc/AQLPlus.jj
A asterixdb/asterix-app/data/skew/zipfan1.tbl
A asterixdb/asterix-app/data/skew/zipfan2.tbl
A asterixdb/asterix-app/data/skew/zipfanmissing_1.tbl
A asterixdb/asterix-app/data/skew/zipfanmissing_2.tbl
A asterixdb/asterix-app/data/skew/zipfannull_1.tbl
A asterixdb/asterix-app/data/skew/zipfannull_2.tbl
M asterixdb/asterix-app/pom.xml
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/AsterixAlgebricksHyracksIntegrationUtil.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/ParallelSortRuntimeTest.java
M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/TestPartitionComputerFactory.java
M asterixdb/asterix-app/src/test/resources/logging.properties
M asterixdb/asterix-app/src/test/resources/optimizerts/ignore.txt
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_nested.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_prime.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join_nested.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_prime.plan
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_float/avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int16/avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int32/avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int64/avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int8/avg_int8.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-rg/global-rg.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_double/local-avg_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_float/local-avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.1.ddl.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int32/local-avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int64/local-avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int8/local-avg_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-rg/local-rg.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double-null/rg-double-null.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double/rg-double.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/global-rg/global-avg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/local-rg/local-rg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double-null/rg-double-null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double/rg-double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double/rg_double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double_missing/rg_double_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16/rg_int16.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_missing/rg_int16_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_null/rg_int16_null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_seminull/rg_int16_seminull.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32/rg_int32.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32_missing/rg_int32_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64/rg_int64.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64_missing/rg_int64_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string/rg_string.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string_missing/rg_string_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join/psort_join.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_nested/psort_join_nested.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_prime/psort_prime.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
A asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/factory/DelimitedRecordTupleParserFactory.java
M asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj
M asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/clause/OrderbyClause.java
M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/GlobalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/LocalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RangeGeneratorTypeComputer.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/ScalarVersionOfAggregateResultType.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/histogram/AsterixStreamingHistogram.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateFunction.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalOperatorTag.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/OperatorAnnotations.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/PhysicalOperatorTag.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/ForwardOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/CardinalityInferenceVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismVariableMappingVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalOperatorDeepCopyWithNewVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalPropertiesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/OperatorDeepCopyVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/PrimaryKeyVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/ProducedVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SchemaVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SubstituteVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/UsedVariableVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/MaterializingForwardPOperator.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/RangeRepartitionExchangePOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/DelayOrderedPartitionedProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/IPartitioningProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/visitors/ILogicalOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/AbstractIntroduceCombinerRule.java
A hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforcePreAdHocReplicateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/RemoveUnusedAssignAndAggregateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/SetAlgebricksPhysicalOperatorsRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/ReplaceNtsWithSubplanInputOperatorVisitor.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksTaskContext.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/ITuplePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/FieldHashPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RandomPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RepartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/FieldRangePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangeMap.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/LocalityAwareMToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningMergingConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningWithMessageConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/HistogramType.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHeapList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/FieldRangeRepartitionComputerFactory.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorNodePushable.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingForwardOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingSampleTaskState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractStreamingHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/DominantQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantileComparator.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinDifferenceQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinSumCountQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/RepartitioningState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/util/HistogramUtils.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/result/ResultFileWriterOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/range/TypeTranslateTest.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan1.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan2.tbl
M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/pom.xml
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramAlgorithmTests.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramFieldType.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HyracksStreamingHistogram.java
M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestTaskContext.java
215 files changed, 19,002 insertions(+), 692 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/81/1381/21
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 21
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 6:

Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/1393/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 6
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizer.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizer.
......................................................................


Patch Set 13:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/3711/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 13
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 53:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-sonar/4263/ (6/10)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 53
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Wenhai Li (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/1381

to look at the new patch set (#45).

Change subject: Enable the parallel sort in the optimizor.
......................................................................

Enable the parallel sort in the optimizor.

Based on the MaterializingForwardOperatorDescriptor, enable the parallel sort in full round.
1. Add LogicalOperator Foward to enable MaterializingForwardOperatorDescriptor in the logical optimizor.
2. Introduce hint "psort" before sort to enable the user to use parallel sort.
3. Add the IntroduceParallelSortRule to introduce ReplicateOperator, AggregateOperator, ForwardOperator before SortOperator.
4. Apply ParallelStableSortPOperator into SortOperator if the following conditions are satisfied:
   a. Single column sort.
   b. non-topK condition inlined.
5. Add EnforcePreAdHocReplicateRule to guarantee the consistency of the replicate with forward.
6. Add and partially enable the opt/rtTest cases, including:
   a. Psort on full records.
   b. Psort on a join results.
   c. Nested psort within a subplan below a secondary sort or psort.
7. Use binarySearch in two RangePartitioners.

Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
---
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/ParallelStableSortPOperator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceParallelSortRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggFuncIntoStandaloneAggregateRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetAsterixPhysicalOperatorsRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineAllNtsInSubplanVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineLeftNtsInSubplanJoinFlatteningVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/SubplanSpecialFlatteningCheckVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/FunctionCollection.java
A asterixdb/asterix-app/data/skew/zipfian.tbl
A asterixdb/asterix-app/data/skew/zipfian1.tbl
A asterixdb/asterix-app/data/skew/zipfian2.tbl
A asterixdb/asterix-app/data/skew/zipfianmissing_1.tbl
A asterixdb/asterix-app/data/skew/zipfianmissing_2.tbl
A asterixdb/asterix-app/data/skew/zipfiannull_1.tbl
A asterixdb/asterix-app/data/skew/zipfiannull_2.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part1.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part2.tbl
M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/resource/RequiredCapacityVisitor.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/AsterixAlgebricksHyracksIntegrationUtil.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/ParallelSortRuntimeTest.java
M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/TestPartitionComputerFactory.java
M asterixdb/asterix-app/src/test/resources/logging.properties
M asterixdb/asterix-app/src/test/resources/optimizerts/ignore.txt
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_nested.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_prime.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join_nested.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_prime.plan
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_float/avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int16/avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int32/avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int64/avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int8/avg_int8.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-rg/global-rg.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_double/local-avg_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_float/local-avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.1.ddl.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int32/local-avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int64/local-avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int8/local-avg_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-rg/local-rg.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double-null/rg-double-null.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double/rg-double.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.4.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/load/rg_load/rg_load.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/load/rg_load/rg_load.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/load/rg_load/rg_load.3.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.2.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.3.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.4.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/global-rg/global-avg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/local-rg/local-rg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double-null/rg-double-null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double/rg-double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double/rg_double.3.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double_missing/rg_double_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16/rg_int16.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_missing/rg_int16_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_null/rg_int16_null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_seminull/rg_int16_seminull.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32/rg_int32.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32_missing/rg_int32_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64/rg_int64.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64_missing/rg_int64_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_shipdate/rg_shipdate.3.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_shipdate/rg_shipdate.4.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string/rg_string.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string_missing/rg_string_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join/psort_join.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_nested/psort_join_nested.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_result/psort_join_result.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_prime/psort_prime.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/range-hints/order-by-exception_03/order-by-exception_03.4.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
A asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/factory/DelimitedRecordTupleParserFactory.java
M asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj
M asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/clause/OrderbyClause.java
M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/GlobalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/LocalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RangeGeneratorTypeComputer.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/ScalarVersionOfAggregateResultType.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/histogram/AsterixStreamingHistogram.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/sample/SamplingForwardOperatorDescriptor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalOperatorTag.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/OperatorAnnotations.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/PhysicalOperatorTag.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/ForwardOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/CardinalityInferenceVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismVariableMappingVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalOperatorDeepCopyWithNewVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalPropertiesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/OperatorDeepCopyVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/PrimaryKeyVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/ProducedVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SchemaVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SubstituteVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/UsedVariableVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/MaterializingForwardPOperator.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/RangeRepartitionExchangePOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/DelayOrderedPartitionedProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/IPartitioningProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/visitors/ILogicalOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/AbstractIntroduceCombinerRule.java
A hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforcePreAdHocReplicateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/RemoveUnusedAssignAndAggregateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/SetAlgebricksPhysicalOperatorsRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/ReplaceNtsWithSubplanInputOperatorVisitor.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksTaskContext.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/ITuplePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/FieldHashPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RandomPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RepartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/FieldRangePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangeMap.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/LocalityAwareMToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningMergingConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningWithMessageConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/HistogramType.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHeapList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/FieldRangeRepartitionComputerFactory.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorNodePushable.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingSampleTaskState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractStreamingHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/DominantQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantileComparator.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinDifferenceQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinSumCountQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/RepartitioningState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/util/HistogramUtils.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/result/ResultFileWriterOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/range/TypeTranslateTest.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/prefix.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfian1.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfian2.tbl
M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/pom.xml
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramAlgorithmTests.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramFieldType.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HyracksStreamingHistogram.java
M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestTaskContext.java
242 files changed, 27,837 insertions(+), 695 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/81/1381/45
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 45
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 48:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app/364/ (4/6)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 48
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 55:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app/2391/ (10/11)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 55
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 28:

Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/1677/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 28
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 40:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/4191/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 40
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 48:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-sonar/3574/ (6/6)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 48
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 56: Integration-Tests+1

Integration Tests Successful

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/6330/ : SUCCESS

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 56
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 49:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-verify-storage/104/ (5/6)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 49
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 45:

Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/2173/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 45
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 47:

WARNING: THIS CHANGE CONTAINS CROSS-PRODUCT CHANGES IN:
* asterixdb
* hyracks-fullstack

PLEASE REVIEW CAREFULLY AND LOOK FOR API CHANGES!

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 47
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 51:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-verify-asterix-app/750/ (6/10)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 51
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 36:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/4186/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 36
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 51:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app/926/ (9/10)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 51
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 42: Integration-Tests-1

Integration Tests Failed

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/1853/ : UNSTABLE

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 42
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 37:

BAD Compatibility Tests Started https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/477/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 37
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Wenhai Li (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/1381

to look at the new patch set (#10).

Change subject: Enable the parallel sort in the optimizor.
......................................................................

Enable the parallel sort in the optimizor.

Based on the MaterializingForwardOperatorDescriptor, enable the parallel sort in full round.
1. Add LogicalOperator Foward to enable MaterializingForwardOperatorDescriptor in the logical optimizor.
2. Introduce hint "psort" before sort to enable the user to use parallel sort.
3. Add the IntroduceParallelSortRule to introduce ReplicateOperator, AggregateOperator, ForwardOperator before SortOperator.
4. Apply ParallelStableSortPOperator into SortOperator if the following conditions are satisfied:
   a. Single column sort.
   b. non-topK condition inlined.
5. Add EnforcePreAdHocReplicateRule to guarantee the consistency of the replicate with forward.
6. Add and partially enable the opt/rtTest cases, including:
   a. Psort on full records.
   b. Psort on a join results.
   c. Nested psort within a subplan that is below secondary sort or psort.

Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
---
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/ParallelStableSortPOperator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceParallelSortRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggFuncIntoStandaloneAggregateRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetAsterixPhysicalOperatorsRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineAllNtsInSubplanVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineLeftNtsInSubplanJoinFlatteningVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/SubplanSpecialFlatteningCheckVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/AqlPlusExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/FunctionCollection.java
M asterixdb/asterix-algebra/src/main/javacc/AQLPlus.jj
A asterixdb/asterix-app/data/skew/zipfan1.tbl
A asterixdb/asterix-app/data/skew/zipfan2.tbl
M asterixdb/asterix-app/pom.xml
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/AsterixAlgebricksHyracksIntegrationUtil.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/ParallelSortRuntimeTest.java
M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/TestPartitionComputerFactory.java
M asterixdb/asterix-app/src/test/resources/logging.properties
M asterixdb/asterix-app/src/test/resources/optimizerts/ignore.txt
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_nested.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_prime.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join_nested.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_prime.plan
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_float/avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int16/avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int32/avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int64/avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int8/avg_int8.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-rg/global-rg.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_double/local-avg_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_float/local-avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.1.ddl.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int32/local-avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int64/local-avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int8/local-avg_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-rg/local-rg.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double-null/rg-double-null.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double/rg-double.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/global-rg/global-avg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/local-rg/local-rg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double-null/rg-double-null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double/rg-double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double/rg_double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16/rg_int16.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32/rg_int32.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64/rg_int64.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string/rg_string.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join/psort_join.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_nested/psort_join_nested.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_prime/psort_prime.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
A asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/factory/DelimitedRecordTupleParserFactory.java
M asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj
M asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/clause/OrderbyClause.java
M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/GlobalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/LocalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RangeGeneratorTypeComputer.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/ScalarVersionOfAggregateResultType.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/histogram/AsterixStreamingHistogram.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateFunction.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalOperatorTag.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/OperatorAnnotations.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/PhysicalOperatorTag.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/ForwardOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/CardinalityInferenceVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismVariableMappingVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalOperatorDeepCopyWithNewVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalPropertiesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/OperatorDeepCopyVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/PrimaryKeyVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/ProducedVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SchemaVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SubstituteVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/UsedVariableVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/MaterializingForwardPOperator.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/RangeRepartitionExchangePOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/DelayOrderedPartitionedProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/IPartitioningProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/visitors/ILogicalOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/AbstractIntroduceCombinerRule.java
A hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforcePreAdHocReplicateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/RemoveUnusedAssignAndAggregateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/SetAlgebricksPhysicalOperatorsRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/ReplaceNtsWithSubplanInputOperatorVisitor.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksTaskContext.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/ITuplePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/FieldHashPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RandomPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RepartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/FieldRangePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangeMap.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/LocalityAwareMToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningMergingConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningWithMessageConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/HistogramType.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHeapList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/FieldRangeRepartitionComputerFactory.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorNodePushable.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingForwardOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingSampleTaskState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractStreamingHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/DominantQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantileComparator.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinDifferenceQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinSumCountQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/RepartitioningState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/util/HistogramUtils.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/result/ResultFileWriterOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/range/TypeTranslateTest.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan1.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan2.tbl
M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/pom.xml
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramAlgorithmTests.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramFieldType.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HyracksStreamingHistogram.java
M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestTaskContext.java
183 files changed, 18,153 insertions(+), 692 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/81/1381/10
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 10
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 28:

WARNING: THIS CHANGE CONTAINS CROSS-PRODUCT CHANGES IN:
* asterixdb
* hyracks-fullstack

PLEASE REVIEW CAREFULLY AND LOOK FOR API CHANGES!

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 28
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Wenhai Li (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/1381

to look at the new patch set (#23).

Change subject: Enable the parallel sort in the optimizor.
......................................................................

Enable the parallel sort in the optimizor.

Based on the MaterializingForwardOperatorDescriptor, enable the parallel sort in full round.
1. Add LogicalOperator Foward to enable MaterializingForwardOperatorDescriptor in the logical optimizor.
2. Introduce hint "psort" before sort to enable the user to use parallel sort.
3. Add the IntroduceParallelSortRule to introduce ReplicateOperator, AggregateOperator, ForwardOperator before SortOperator.
4. Apply ParallelStableSortPOperator into SortOperator if the following conditions are satisfied:
   a. Single column sort.
   b. non-topK condition inlined.
5. Add EnforcePreAdHocReplicateRule to guarantee the consistency of the replicate with forward.
6. Add and partially enable the opt/rtTest cases, including:
   a. Psort on full records.
   b. Psort on a join results.
   c. Nested psort within a subplan below a secondary sort or psort.

Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
---
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/ParallelStableSortPOperator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceParallelSortRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggFuncIntoStandaloneAggregateRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetAsterixPhysicalOperatorsRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineAllNtsInSubplanVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineLeftNtsInSubplanJoinFlatteningVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/SubplanSpecialFlatteningCheckVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/AqlPlusExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/FunctionCollection.java
M asterixdb/asterix-algebra/src/main/javacc/AQLPlus.jj
A asterixdb/asterix-app/data/skew/zipfan1.tbl
A asterixdb/asterix-app/data/skew/zipfan2.tbl
A asterixdb/asterix-app/data/skew/zipfanmissing_1.tbl
A asterixdb/asterix-app/data/skew/zipfanmissing_2.tbl
A asterixdb/asterix-app/data/skew/zipfannull_1.tbl
A asterixdb/asterix-app/data/skew/zipfannull_2.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part1.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part2.tbl
M asterixdb/asterix-app/pom.xml
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/AsterixAlgebricksHyracksIntegrationUtil.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/ParallelSortRuntimeTest.java
M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/TestPartitionComputerFactory.java
M asterixdb/asterix-app/src/test/resources/logging.properties
M asterixdb/asterix-app/src/test/resources/optimizerts/ignore.txt
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_nested.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_prime.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join_nested.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_prime.plan
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_float/avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int16/avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int32/avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int64/avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int8/avg_int8.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-rg/global-rg.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_double/local-avg_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_float/local-avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.1.ddl.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int32/local-avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int64/local-avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int8/local-avg_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-rg/local-rg.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double-null/rg-double-null.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double/rg-double.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/global-rg/global-avg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/local-rg/local-rg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double-null/rg-double-null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double/rg-double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double/rg_double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double_missing/rg_double_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16/rg_int16.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_missing/rg_int16_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_null/rg_int16_null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_seminull/rg_int16_seminull.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32/rg_int32.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32_missing/rg_int32_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64/rg_int64.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64_missing/rg_int64_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_shipdate/rg_shipdate.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string/rg_string.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string_missing/rg_string_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join/psort_join.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_nested/psort_join_nested.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_prime/psort_prime.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
A asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/factory/DelimitedRecordTupleParserFactory.java
M asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj
M asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/clause/OrderbyClause.java
M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/GlobalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/LocalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RangeGeneratorTypeComputer.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/ScalarVersionOfAggregateResultType.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/histogram/AsterixStreamingHistogram.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateFunction.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalOperatorTag.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/OperatorAnnotations.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/PhysicalOperatorTag.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/ForwardOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/CardinalityInferenceVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismVariableMappingVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalOperatorDeepCopyWithNewVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalPropertiesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/OperatorDeepCopyVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/PrimaryKeyVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/ProducedVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SchemaVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SubstituteVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/UsedVariableVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/MaterializingForwardPOperator.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/RangeRepartitionExchangePOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/DelayOrderedPartitionedProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/IPartitioningProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/visitors/ILogicalOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/AbstractIntroduceCombinerRule.java
A hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforcePreAdHocReplicateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/RemoveUnusedAssignAndAggregateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/SetAlgebricksPhysicalOperatorsRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/ReplaceNtsWithSubplanInputOperatorVisitor.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksTaskContext.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/ITuplePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/FieldHashPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RandomPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RepartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/FieldRangePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangeMap.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/LocalityAwareMToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningMergingConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningWithMessageConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/HistogramType.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHeapList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/FieldRangeRepartitionComputerFactory.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorNodePushable.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingForwardOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingSampleTaskState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractStreamingHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/DominantQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantileComparator.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinDifferenceQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinSumCountQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/RepartitioningState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/util/HistogramUtils.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/result/ResultFileWriterOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/range/TypeTranslateTest.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/prefix.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan1.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan2.tbl
M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/pom.xml
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramAlgorithmTests.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramFieldType.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HyracksStreamingHistogram.java
M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestTaskContext.java
222 files changed, 26,777 insertions(+), 692 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/81/1381/23
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 23
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 34:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/4184/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 34
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 54:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/7000/ (1/11)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 54
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizer.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizer.
......................................................................


Patch Set 16: Integration-Tests-1

Integration Tests Failed

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/1427/ : UNSTABLE

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 16
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Wenhai Li (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/1381

to look at the new patch set (#49).

Change subject: Enable the parallel sort in the optimizor.
......................................................................

Enable the parallel sort in the optimizor.

Based on the MaterializingForwardOperatorDescriptor, enable the parallel sort in full round.
1. Add LogicalOperator Foward to enable MaterializingForwardOperatorDescriptor in the logical optimizor.
2. Introduce hint "psort" before sort to enable the user to use parallel sort.
3. Add the IntroduceParallelSortRule to introduce ReplicateOperator, AggregateOperator, ForwardOperator before SortOperator.
4. Apply ParallelStableSortPOperator into SortOperator if the following conditions are satisfied:
   a. Single column sort.
   b. non topK condition inlined.
5. Add EnforcePreAdHocReplicateRule to guarantee the consistency of the replicate with forward.
6. Add and partially enable the opt/rtTest cases, including:
   a. Psort on full records.
   b. Psort on a join results.
   c. Nested psort within a subplan below a secondary sort or psort.
7. Use binarySearch in two RangePartitioners.

Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
---
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/ParallelStableSortPOperator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceParallelSortRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggFuncIntoStandaloneAggregateRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetAsterixPhysicalOperatorsRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineAllNtsInSubplanVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineLeftNtsInSubplanJoinFlatteningVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/SubplanSpecialFlatteningCheckVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/FunctionCollection.java
A asterixdb/asterix-app/data/skew/zipfian.tbl
A asterixdb/asterix-app/data/skew/zipfian1.tbl
A asterixdb/asterix-app/data/skew/zipfian2.tbl
A asterixdb/asterix-app/data/skew/zipfianmissing_1.tbl
A asterixdb/asterix-app/data/skew/zipfianmissing_2.tbl
A asterixdb/asterix-app/data/skew/zipfiannull_1.tbl
A asterixdb/asterix-app/data/skew/zipfiannull_2.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part1.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part2.tbl
M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/resource/RequiredCapacityVisitor.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/AsterixAlgebricksHyracksIntegrationUtil.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/ParallelSortRuntimeTest.java
M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/TestPartitionComputerFactory.java
M asterixdb/asterix-app/src/test/resources/logging.properties
M asterixdb/asterix-app/src/test/resources/optimizerts/ignore.txt
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_nested.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_prime.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join_nested.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_prime.plan
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_float/avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int16/avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int32/avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int64/avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int8/avg_int8.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-rg/global-rg.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_double/local-avg_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_float/local-avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.1.ddl.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int32/local-avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int64/local-avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int8/local-avg_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-rg/local-rg.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double-null/rg-double-null.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double/rg-double.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.4.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/load/rg_load/rg_load.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/load/rg_load/rg_load.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/load/rg_load/rg_load.3.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.2.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.3.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.4.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/global-rg/global-avg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/local-rg/local-rg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double-null/rg-double-null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double/rg-double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double/rg_double.3.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double_missing/rg_double_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16/rg_int16.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_missing/rg_int16_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_null/rg_int16_null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_seminull/rg_int16_seminull.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32/rg_int32.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32_missing/rg_int32_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64/rg_int64.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64_missing/rg_int64_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_shipdate/rg_shipdate.3.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_shipdate/rg_shipdate.4.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string/rg_string.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string_missing/rg_string_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join/psort_join.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_nested/psort_join_nested.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_result/psort_join_result.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_prime/psort_prime.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/range-hints/order-by-exception_03/order-by-exception_03.4.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
A asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/factory/DelimitedRecordTupleParserFactory.java
M asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj
M asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/clause/OrderbyClause.java
M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/GlobalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/LocalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RangeGeneratorTypeComputer.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/ScalarVersionOfAggregateResultType.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/histogram/AsterixStreamingHistogram.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/sample/SamplingForwardOperatorDescriptor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalOperatorTag.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/OperatorAnnotations.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/PhysicalOperatorTag.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/ForwardOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/CardinalityInferenceVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismVariableMappingVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalOperatorDeepCopyWithNewVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalPropertiesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/OperatorDeepCopyVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/PrimaryKeyVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/ProducedVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SchemaVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SubstituteVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/UsedVariableVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/MaterializingForwardPOperator.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/RangeRepartitionExchangePOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/DelayOrderedPartitionedProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/IPartitioningProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/visitors/ILogicalOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/AbstractIntroduceCombinerRule.java
A hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforcePreAdHocReplicateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/RemoveUnusedAssignAndAggregateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/SetAlgebricksPhysicalOperatorsRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/ReplaceNtsWithSubplanInputOperatorVisitor.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksTaskContext.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/ITuplePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/FieldHashPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RandomPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RepartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/FieldRangePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangeMap.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/LocalityAwareMToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningMergingConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningWithMessageConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/HistogramType.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHeapList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/FieldRangeRepartitionComputerFactory.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorNodePushable.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingSampleTaskState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractStreamingHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/DominantQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantileComparator.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinDifferenceQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinSumCountQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/RepartitioningState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/util/HistogramUtils.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/result/ResultFileWriterOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/range/TypeTranslateTest.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/prefix.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfian1.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfian2.tbl
M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/pom.xml
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramAlgorithmTests.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramFieldType.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HyracksStreamingHistogram.java
M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestTaskContext.java
242 files changed, 27,890 insertions(+), 695 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/81/1381/49
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 49
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 51:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-source-assemblies/318/ (1/10)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 51
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 53:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/5742/ (3/10)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 53
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 43:

WARNING: THIS CHANGE CONTAINS CROSS-PRODUCT CHANGES IN:
* asterixdb
* hyracks-fullstack

PLEASE REVIEW CAREFULLY AND LOOK FOR API CHANGES!

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 43
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 49:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-sonar/3575/ (3/6)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 49
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 54:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-source-assemblies/1783/ (8/11)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 54
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 1:

WARNING: THIS CHANGE CONTAINS CROSS-PRODUCT CHANGES IN:
* asterixdb
* hyracks-fullstack

PLEASE REVIEW CAREFULLY AND LOOK FOR API CHANGES!

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 37: BAD+1

BAD Compatibility Tests Successful

https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/477/ : SUCCESS

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 37
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Wenhai Li (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/1381

to look at the new patch set (#26).

Change subject: Enable the parallel sort in the optimizor.
......................................................................

Enable the parallel sort in the optimizor.

Based on the MaterializingForwardOperatorDescriptor, enable the parallel sort in full round.
1. Add LogicalOperator Foward to enable MaterializingForwardOperatorDescriptor in the logical optimizor.
2. Introduce hint "psort" before sort to enable the user to use parallel sort.
3. Add the IntroduceParallelSortRule to introduce ReplicateOperator, AggregateOperator, ForwardOperator before SortOperator.
4. Apply ParallelStableSortPOperator into SortOperator if the following conditions are satisfied:
   a. Single column sort.
   b. non-topK condition inlined.
5. Add EnforcePreAdHocReplicateRule to guarantee the consistency of the replicate with forward.
6. Add and partially enable the opt/rtTest cases, including:
   a. Psort on full records.
   b. Psort on a join results.
   c. Nested psort within a subplan below a secondary sort or psort.
7. Use binarySearch in two RangePartitioners.

Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
---
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/ParallelStableSortPOperator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceParallelSortRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggFuncIntoStandaloneAggregateRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetAsterixPhysicalOperatorsRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineAllNtsInSubplanVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineLeftNtsInSubplanJoinFlatteningVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/SubplanSpecialFlatteningCheckVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/AqlPlusExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/FunctionCollection.java
M asterixdb/asterix-algebra/src/main/javacc/AQLPlus.jj
A asterixdb/asterix-app/data/skew/zipfan1.tbl
A asterixdb/asterix-app/data/skew/zipfan2.tbl
A asterixdb/asterix-app/data/skew/zipfanmissing_1.tbl
A asterixdb/asterix-app/data/skew/zipfanmissing_2.tbl
A asterixdb/asterix-app/data/skew/zipfannull_1.tbl
A asterixdb/asterix-app/data/skew/zipfannull_2.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part1.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part2.tbl
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/AsterixAlgebricksHyracksIntegrationUtil.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/ParallelSortRuntimeTest.java
M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/TestPartitionComputerFactory.java
M asterixdb/asterix-app/src/test/resources/logging.properties
M asterixdb/asterix-app/src/test/resources/optimizerts/ignore.txt
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_nested.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_prime.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join_nested.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_prime.plan
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_float/avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int16/avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int32/avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int64/avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int8/avg_int8.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-rg/global-rg.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_double/local-avg_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_float/local-avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.1.ddl.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int32/local-avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int64/local-avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int8/local-avg_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-rg/local-rg.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double-null/rg-double-null.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double/rg-double.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.2.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.3.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.4.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/global-rg/global-avg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/local-rg/local-rg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double-null/rg-double-null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double/rg-double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double/rg_double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double_missing/rg_double_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16/rg_int16.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_missing/rg_int16_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_null/rg_int16_null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_seminull/rg_int16_seminull.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32/rg_int32.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32_missing/rg_int32_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64/rg_int64.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64_missing/rg_int64_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_shipdate/rg_shipdate.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string/rg_string.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string_missing/rg_string_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join/psort_join.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_nested/psort_join_nested.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_result/psort_join_result.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_prime/psort_prime.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/range-hints/order-by-exception_03/order-by-exception_03.4.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
A asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/factory/DelimitedRecordTupleParserFactory.java
M asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj
M asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/clause/OrderbyClause.java
M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/GlobalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/LocalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RangeGeneratorTypeComputer.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/ScalarVersionOfAggregateResultType.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/histogram/AsterixStreamingHistogram.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateFunction.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalOperatorTag.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/OperatorAnnotations.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/PhysicalOperatorTag.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/ForwardOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/CardinalityInferenceVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismVariableMappingVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalOperatorDeepCopyWithNewVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalPropertiesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/OperatorDeepCopyVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/PrimaryKeyVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/ProducedVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SchemaVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SubstituteVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/UsedVariableVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/MaterializingForwardPOperator.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/RangeRepartitionExchangePOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/DelayOrderedPartitionedProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/IPartitioningProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/visitors/ILogicalOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/AbstractIntroduceCombinerRule.java
A hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforcePreAdHocReplicateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/RemoveUnusedAssignAndAggregateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/SetAlgebricksPhysicalOperatorsRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/ReplaceNtsWithSubplanInputOperatorVisitor.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksTaskContext.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/ITuplePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/FieldHashPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RandomPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RepartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/FieldRangePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangeMap.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/LocalityAwareMToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningMergingConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningWithMessageConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/HistogramType.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHeapList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/FieldRangeRepartitionComputerFactory.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorNodePushable.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingForwardOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingSampleTaskState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractStreamingHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/DominantQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantileComparator.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinDifferenceQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinSumCountQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/RepartitioningState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/util/HistogramUtils.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/result/ResultFileWriterOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/range/TypeTranslateTest.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/prefix.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan1.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan2.tbl
M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/pom.xml
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramAlgorithmTests.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramFieldType.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HyracksStreamingHistogram.java
M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestTaskContext.java
236 files changed, 27,254 insertions(+), 698 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/81/1381/26
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 26
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>

Change in asterixdb[master]: Enable the parallel sort in the optimizer.

Posted by "Wenhai Li (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/1381

to look at the new patch set (#19).

Change subject: Enable the parallel sort in the optimizer.
......................................................................

Enable the parallel sort in the optimizer.

Based on the MaterializingForwardOperatorDescriptor, enable the parallel sort in full round.
1. Add LogicalOperator Foward to enable MaterializingForwardOperatorDescriptor in the logical optimizor.
2. Introduce hint "psort" before sort to enable the user to use parallel sort.
3. Add the IntroduceParallelSortRule to introduce ReplicateOperator, AggregateOperator, ForwardOperator before SortOperator.
4. Apply ParallelStableSortPOperator into SortOperator if the following conditions are satisfied:
   a. Single column sort.
   b. non-topK condition inlined.
5. Add EnforcePreAdHocReplicateRule to guarantee the consistency of the replicate with forward.
6. Add and partially enable the opt/rtTest cases, including:
   a. Psort on full records.
   b. Psort on a join results.
   c. Nested psort within a subplan below a secondary sort or psort.

Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
---
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/ParallelStableSortPOperator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceParallelSortRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggFuncIntoStandaloneAggregateRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetAsterixPhysicalOperatorsRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineAllNtsInSubplanVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineLeftNtsInSubplanJoinFlatteningVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/SubplanSpecialFlatteningCheckVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/AqlPlusExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/FunctionCollection.java
M asterixdb/asterix-algebra/src/main/javacc/AQLPlus.jj
A asterixdb/asterix-app/data/skew/zipfan1.tbl
A asterixdb/asterix-app/data/skew/zipfan2.tbl
A asterixdb/asterix-app/data/skew/zipfanmissing_1.tbl
A asterixdb/asterix-app/data/skew/zipfanmissing_2.tbl
A asterixdb/asterix-app/data/skew/zipfannull_1.tbl
A asterixdb/asterix-app/data/skew/zipfannull_2.tbl
M asterixdb/asterix-app/pom.xml
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/AsterixAlgebricksHyracksIntegrationUtil.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/ParallelSortRuntimeTest.java
M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/TestPartitionComputerFactory.java
M asterixdb/asterix-app/src/test/resources/logging.properties
M asterixdb/asterix-app/src/test/resources/optimizerts/ignore.txt
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_nested.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_prime.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join_nested.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_prime.plan
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_float/avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int16/avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int32/avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int64/avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int8/avg_int8.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-rg/global-rg.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_double/local-avg_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_float/local-avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.1.ddl.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int32/local-avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int64/local-avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int8/local-avg_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-rg/local-rg.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double-null/rg-double-null.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double/rg-double.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/global-rg/global-avg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/local-rg/local-rg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double-null/rg-double-null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double/rg-double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double/rg_double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double_missing/rg_double_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16/rg_int16.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_missing/rg_int16_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_null/rg_int16_null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_seminull/rg_int16_seminull.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32/rg_int32.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32_missing/rg_int32_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64/rg_int64.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64_missing/rg_int64_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string/rg_string.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string_missing/rg_string_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join/psort_join.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_nested/psort_join_nested.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_prime/psort_prime.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
A asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/factory/DelimitedRecordTupleParserFactory.java
M asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj
M asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/clause/OrderbyClause.java
M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/GlobalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/LocalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RangeGeneratorTypeComputer.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/ScalarVersionOfAggregateResultType.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/histogram/AsterixStreamingHistogram.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateFunction.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalOperatorTag.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/OperatorAnnotations.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/PhysicalOperatorTag.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/ForwardOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/CardinalityInferenceVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismVariableMappingVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalOperatorDeepCopyWithNewVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalPropertiesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/OperatorDeepCopyVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/PrimaryKeyVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/ProducedVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SchemaVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SubstituteVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/UsedVariableVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/MaterializingForwardPOperator.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/RangeRepartitionExchangePOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/DelayOrderedPartitionedProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/IPartitioningProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/visitors/ILogicalOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/AbstractIntroduceCombinerRule.java
A hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforcePreAdHocReplicateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/RemoveUnusedAssignAndAggregateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/SetAlgebricksPhysicalOperatorsRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/ReplaceNtsWithSubplanInputOperatorVisitor.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksTaskContext.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/ITuplePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/FieldHashPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RandomPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RepartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/FieldRangePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangeMap.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/LocalityAwareMToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningMergingConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningWithMessageConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/HistogramType.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHeapList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/FieldRangeRepartitionComputerFactory.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorNodePushable.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingForwardOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingSampleTaskState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractStreamingHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/DominantQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantileComparator.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinDifferenceQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinSumCountQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/RepartitioningState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/util/HistogramUtils.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/result/ResultFileWriterOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/range/TypeTranslateTest.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan1.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan2.tbl
M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/pom.xml
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramAlgorithmTests.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramFieldType.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HyracksStreamingHistogram.java
M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestTaskContext.java
215 files changed, 19,005 insertions(+), 692 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/81/1381/19
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 19
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 12:

WARNING: THIS CHANGE CONTAINS CROSS-PRODUCT CHANGES IN:
* asterixdb
* hyracks-fullstack

PLEASE REVIEW CAREFULLY AND LOOK FOR API CHANGES!

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 12
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 55:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/7058/ (5/11)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 55
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 55:

BAD Compatibility Tests Started https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/2110/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 55
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizer.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizer.
......................................................................


Patch Set 14:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/3712/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 14
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 46:

Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/2315/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 46
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 50:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app/391/ (6/6)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 50
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Wenhai Li (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/1381

to look at the new patch set (#50).

Change subject: Enable the parallel sort in the optimizor.
......................................................................

Enable the parallel sort in the optimizor.

Based on the MaterializingForwardOperatorDescriptor, enable the parallel sort in full round.
1. Add LogicalOperator Foward to enable MaterializingForwardOperatorDescriptor in the logical optimizor.
2. Introduce hint "psort" before sort to enable the user to use parallel sort.
3. Add the IntroduceParallelSortRule to introduce ReplicateOperator, AggregateOperator, ForwardOperator before SortOperator.
4. Apply ParallelStableSortPOperator into SortOperator if the following conditions are satisfied:
   a. Single column sort.
   b. non-topK condition inlined.
5. Add EnforcePreAdHocReplicateRule to guarantee the consistency of the replicate with forward.
6. Add and partially enable the opt/rtTest cases, including:
   a. Psort on full records.
   b. Psort on a join results.
   c. Nested psort within a subplan below a secondary sort or psort.
7. Use binarySearch in two RangePartitioners.

Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
---
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/ParallelStableSortPOperator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceParallelSortRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggFuncIntoStandaloneAggregateRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetAsterixPhysicalOperatorsRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineAllNtsInSubplanVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineLeftNtsInSubplanJoinFlatteningVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/SubplanSpecialFlatteningCheckVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/FunctionCollection.java
A asterixdb/asterix-app/data/skew/zipfian.tbl
A asterixdb/asterix-app/data/skew/zipfian1.tbl
A asterixdb/asterix-app/data/skew/zipfian2.tbl
A asterixdb/asterix-app/data/skew/zipfianmissing_1.tbl
A asterixdb/asterix-app/data/skew/zipfianmissing_2.tbl
A asterixdb/asterix-app/data/skew/zipfiannull_1.tbl
A asterixdb/asterix-app/data/skew/zipfiannull_2.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part1.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part2.tbl
M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/resource/RequiredCapacityVisitor.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/AsterixAlgebricksHyracksIntegrationUtil.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/ParallelSortRuntimeTest.java
M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/TestPartitionComputerFactory.java
M asterixdb/asterix-app/src/test/resources/logging.properties
M asterixdb/asterix-app/src/test/resources/optimizerts/ignore.txt
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_nested.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_prime.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join_nested.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_prime.plan
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_float/avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int16/avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int32/avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int64/avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int8/avg_int8.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-rg/global-rg.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_double/local-avg_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_float/local-avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.1.ddl.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int32/local-avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int64/local-avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int8/local-avg_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-rg/local-rg.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double-null/rg-double-null.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double/rg-double.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.4.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/load/rg_load/rg_load.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/load/rg_load/rg_load.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/load/rg_load/rg_load.3.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.2.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.3.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.4.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/global-rg/global-avg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/local-rg/local-rg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double-null/rg-double-null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double/rg-double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double/rg_double.3.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double_missing/rg_double_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16/rg_int16.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_missing/rg_int16_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_null/rg_int16_null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_seminull/rg_int16_seminull.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32/rg_int32.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32_missing/rg_int32_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64/rg_int64.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64_missing/rg_int64_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_shipdate/rg_shipdate.3.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_shipdate/rg_shipdate.4.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string/rg_string.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string_missing/rg_string_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join/psort_join.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_nested/psort_join_nested.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_result/psort_join_result.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_prime/psort_prime.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/range-hints/order-by-exception_03/order-by-exception_03.4.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
A asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/factory/DelimitedRecordTupleParserFactory.java
M asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj
M asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/clause/OrderbyClause.java
M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/GlobalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/LocalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RangeGeneratorTypeComputer.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/ScalarVersionOfAggregateResultType.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/histogram/AsterixStreamingHistogram.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/sample/SamplingForwardOperatorDescriptor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalOperatorTag.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/OperatorAnnotations.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/PhysicalOperatorTag.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/ForwardOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/CardinalityInferenceVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismVariableMappingVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalOperatorDeepCopyWithNewVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalPropertiesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/OperatorDeepCopyVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/PrimaryKeyVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/ProducedVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SchemaVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SubstituteVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/UsedVariableVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/MaterializingForwardPOperator.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/RangeRepartitionExchangePOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/DelayOrderedPartitionedProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/IPartitioningProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/visitors/ILogicalOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/AbstractIntroduceCombinerRule.java
A hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforcePreAdHocReplicateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/RemoveUnusedAssignAndAggregateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/SetAlgebricksPhysicalOperatorsRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/ReplaceNtsWithSubplanInputOperatorVisitor.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksTaskContext.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/ITuplePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/FieldHashPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RandomPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RepartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/FieldRangePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangeMap.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/LocalityAwareMToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningMergingConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningWithMessageConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/HistogramType.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHeapList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/FieldRangeRepartitionComputerFactory.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorNodePushable.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingSampleTaskState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractStreamingHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/DominantQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantileComparator.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinDifferenceQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinSumCountQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/RepartitioningState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/util/HistogramUtils.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/result/ResultFileWriterOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/range/TypeTranslateTest.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/prefix.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfian1.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfian2.tbl
M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/pom.xml
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramAlgorithmTests.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramFieldType.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HyracksStreamingHistogram.java
M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestTaskContext.java
242 files changed, 27,890 insertions(+), 695 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/81/1381/50
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 50
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 5:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/3660/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 5
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 10:

WARNING: THIS CHANGE CONTAINS CROSS-PRODUCT CHANGES IN:
* asterixdb
* hyracks-fullstack

PLEASE REVIEW CAREFULLY AND LOOK FOR API CHANGES!

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 10
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 24:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/3834/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 24
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 51:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/5603/ (3/10)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 51
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 54:

Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/4503/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 54
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 52:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app-sql-execution/132/ (10/10)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 52
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Wenhai Li (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/1381

to look at the new patch set (#25).

Change subject: Enable the parallel sort in the optimizor.
......................................................................

Enable the parallel sort in the optimizor.

Based on the MaterializingForwardOperatorDescriptor, enable the parallel sort in full round.
1. Add LogicalOperator Foward to enable MaterializingForwardOperatorDescriptor in the logical optimizor.
2. Introduce hint "psort" before sort to enable the user to use parallel sort.
3. Add the IntroduceParallelSortRule to introduce ReplicateOperator, AggregateOperator, ForwardOperator before SortOperator.
4. Apply ParallelStableSortPOperator into SortOperator if the following conditions are satisfied:
   a. Single column sort.
   b. non-topK condition inlined.
5. Add EnforcePreAdHocReplicateRule to guarantee the consistency of the replicate with forward.
6. Add and partially enable the opt/rtTest cases, including:
   a. Psort on full records.
   b. Psort on a join results.
   c. Nested psort within a subplan below a secondary sort or psort.
7. Use binarySearch in two RangePartitioners.

Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
---
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/ParallelStableSortPOperator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceParallelSortRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggFuncIntoStandaloneAggregateRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetAsterixPhysicalOperatorsRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineAllNtsInSubplanVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineLeftNtsInSubplanJoinFlatteningVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/SubplanSpecialFlatteningCheckVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/AqlPlusExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/FunctionCollection.java
M asterixdb/asterix-algebra/src/main/javacc/AQLPlus.jj
A asterixdb/asterix-app/data/skew/zipfan1.tbl
A asterixdb/asterix-app/data/skew/zipfan2.tbl
A asterixdb/asterix-app/data/skew/zipfanmissing_1.tbl
A asterixdb/asterix-app/data/skew/zipfanmissing_2.tbl
A asterixdb/asterix-app/data/skew/zipfannull_1.tbl
A asterixdb/asterix-app/data/skew/zipfannull_2.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part1.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part2.tbl
M asterixdb/asterix-app/pom.xml
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/AsterixAlgebricksHyracksIntegrationUtil.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/ParallelSortRuntimeTest.java
M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/TestPartitionComputerFactory.java
M asterixdb/asterix-app/src/test/resources/logging.properties
M asterixdb/asterix-app/src/test/resources/optimizerts/ignore.txt
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_nested.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_prime.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join_nested.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_prime.plan
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_float/avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int16/avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int32/avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int64/avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int8/avg_int8.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-rg/global-rg.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_double/local-avg_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_float/local-avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.1.ddl.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int32/local-avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int64/local-avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int8/local-avg_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-rg/local-rg.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double-null/rg-double-null.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double/rg-double.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/global-rg/global-avg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/local-rg/local-rg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double-null/rg-double-null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double/rg-double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double/rg_double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double_missing/rg_double_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16/rg_int16.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_missing/rg_int16_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_null/rg_int16_null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_seminull/rg_int16_seminull.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32/rg_int32.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32_missing/rg_int32_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64/rg_int64.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64_missing/rg_int64_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_shipdate/rg_shipdate.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string/rg_string.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string_missing/rg_string_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join/psort_join.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_nested/psort_join_nested.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_result/psort_join_result.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_prime/psort_prime.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
A asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/factory/DelimitedRecordTupleParserFactory.java
M asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj
M asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/clause/OrderbyClause.java
M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/GlobalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/LocalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RangeGeneratorTypeComputer.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/ScalarVersionOfAggregateResultType.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/histogram/AsterixStreamingHistogram.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateFunction.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalOperatorTag.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/OperatorAnnotations.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/PhysicalOperatorTag.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/ForwardOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/CardinalityInferenceVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismVariableMappingVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalOperatorDeepCopyWithNewVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalPropertiesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/OperatorDeepCopyVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/PrimaryKeyVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/ProducedVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SchemaVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SubstituteVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/UsedVariableVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/MaterializingForwardPOperator.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/RangeRepartitionExchangePOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/DelayOrderedPartitionedProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/IPartitioningProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/visitors/ILogicalOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/AbstractIntroduceCombinerRule.java
A hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforcePreAdHocReplicateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/RemoveUnusedAssignAndAggregateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/SetAlgebricksPhysicalOperatorsRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/ReplaceNtsWithSubplanInputOperatorVisitor.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksTaskContext.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/ITuplePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/FieldHashPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RandomPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RepartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/FieldRangePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangeMap.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/LocalityAwareMToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningMergingConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningWithMessageConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/HistogramType.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHeapList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/FieldRangeRepartitionComputerFactory.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorNodePushable.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingForwardOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingSampleTaskState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractStreamingHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/DominantQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantileComparator.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinDifferenceQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinSumCountQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/RepartitioningState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/util/HistogramUtils.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/result/ResultFileWriterOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/range/TypeTranslateTest.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/prefix.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan1.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan2.tbl
M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/pom.xml
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramAlgorithmTests.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramFieldType.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HyracksStreamingHistogram.java
M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestTaskContext.java
226 files changed, 26,934 insertions(+), 698 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/81/1381/25
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 25
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 42:

Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/1853/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 42
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 41:

Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/1848/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 41
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 28:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/4009/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 28
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizer.

Posted by "Wenhai Li (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/1381

to look at the new patch set (#17).

Change subject: Enable the parallel sort in the optimizer.
......................................................................

Enable the parallel sort in the optimizer.

Based on the MaterializingForwardOperatorDescriptor, enable the parallel sort in full round.
1. Add LogicalOperator Forward to enable MaterializingForwardOperatorDescriptor in the logical optimizor.
2. Introduce hint "psort" on sort to enable the user to use parallel sort.
3. Add the IntroduceParallelSortRule to introduce ReplicateOperator, AggregateOperator, ForwardOperator before SortOperator.
4. Apply ParallelStableSortPOperator into SortOperator if the following conditions are satisfied:
   a. Single column sort.
   b. non-topK condition inlined.
5. Add EnforcePreAdHocReplicateRule to guarantee the consistency of the replicate with forward.
6. Add and partially enable the opt/rt Test cases, including:
   a. Psort on full records.
   b. Psort on a join result.
   c. Nested psort within a subplan below a secondary sort or psort.

Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
---
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/ParallelStableSortPOperator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceParallelSortRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggFuncIntoStandaloneAggregateRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetAsterixPhysicalOperatorsRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineAllNtsInSubplanVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineLeftNtsInSubplanJoinFlatteningVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/SubplanSpecialFlatteningCheckVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/AqlPlusExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/FunctionCollection.java
M asterixdb/asterix-algebra/src/main/javacc/AQLPlus.jj
A asterixdb/asterix-app/data/skew/zipfan1.tbl
A asterixdb/asterix-app/data/skew/zipfan2.tbl
M asterixdb/asterix-app/pom.xml
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/AsterixAlgebricksHyracksIntegrationUtil.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/ParallelSortRuntimeTest.java
M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/TestPartitionComputerFactory.java
M asterixdb/asterix-app/src/test/resources/logging.properties
M asterixdb/asterix-app/src/test/resources/optimizerts/ignore.txt
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_nested.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_prime.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join_nested.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_prime.plan
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_float/avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int16/avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int32/avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int64/avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int8/avg_int8.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-rg/global-rg.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_double/local-avg_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_float/local-avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.1.ddl.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int32/local-avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int64/local-avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int8/local-avg_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-rg/local-rg.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double-null/rg-double-null.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double/rg-double.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/global-rg/global-avg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/local-rg/local-rg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double-null/rg-double-null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double/rg-double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double/rg_double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16/rg_int16.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32/rg_int32.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64/rg_int64.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string/rg_string.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join/psort_join.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_nested/psort_join_nested.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_prime/psort_prime.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
A asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/factory/DelimitedRecordTupleParserFactory.java
M asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj
M asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/clause/OrderbyClause.java
M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/GlobalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/LocalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RangeGeneratorTypeComputer.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/ScalarVersionOfAggregateResultType.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/histogram/AsterixStreamingHistogram.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateFunction.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalOperatorTag.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/OperatorAnnotations.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/PhysicalOperatorTag.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/ForwardOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/CardinalityInferenceVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismVariableMappingVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalOperatorDeepCopyWithNewVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalPropertiesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/OperatorDeepCopyVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/PrimaryKeyVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/ProducedVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SchemaVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SubstituteVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/UsedVariableVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/MaterializingForwardPOperator.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/RangeRepartitionExchangePOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/DelayOrderedPartitionedProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/IPartitioningProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/visitors/ILogicalOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/AbstractIntroduceCombinerRule.java
A hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforcePreAdHocReplicateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/RemoveUnusedAssignAndAggregateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/SetAlgebricksPhysicalOperatorsRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/ReplaceNtsWithSubplanInputOperatorVisitor.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksTaskContext.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/ITuplePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/FieldHashPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RandomPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RepartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/FieldRangePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangeMap.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/LocalityAwareMToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningMergingConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningWithMessageConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/HistogramType.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHeapList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/FieldRangeRepartitionComputerFactory.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorNodePushable.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingForwardOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingSampleTaskState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractStreamingHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/DominantQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantileComparator.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinDifferenceQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinSumCountQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/RepartitioningState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/util/HistogramUtils.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/result/ResultFileWriterOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/range/TypeTranslateTest.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan1.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan2.tbl
M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/pom.xml
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramAlgorithmTests.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramFieldType.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HyracksStreamingHistogram.java
M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestTaskContext.java
183 files changed, 18,182 insertions(+), 692 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/81/1381/17
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 17
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 18:

Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/1495/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 18
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizer.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizer.
......................................................................


Patch Set 17:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/3723/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 17
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 44: Integration-Tests+1

Integration Tests Successful

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/1989/ : SUCCESS

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 44
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 46: BAD+1

BAD Compatibility Tests Successful

https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/896/ : SUCCESS

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 46
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 20:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/3802/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 20
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 52:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-sonar/4203/ (2/10)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 52
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 55:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-source-assemblies/1841/ (7/11)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 55
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 9: BAD+1

BAD Compatibility Tests Successful

https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/122/ : SUCCESS

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 9
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizer.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizer.
......................................................................


Patch Set 13:

WARNING: THIS CHANGE CONTAINS CROSS-PRODUCT CHANGES IN:
* asterixdb
* hyracks-fullstack

PLEASE REVIEW CAREFULLY AND LOOK FOR API CHANGES!

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 13
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 11: Integration-Tests-1

Integration Tests Failed

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/1419/ : UNSTABLE

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 11
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 20:

WARNING: THIS CHANGE CONTAINS CROSS-PRODUCT CHANGES IN:
* asterixdb
* hyracks-fullstack

PLEASE REVIEW CAREFULLY AND LOOK FOR API CHANGES!

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 20
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizer.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizer.
......................................................................


Patch Set 17:

WARNING: THIS CHANGE CONTAINS CROSS-PRODUCT CHANGES IN:
* asterixdb
* hyracks-fullstack

PLEASE REVIEW CAREFULLY AND LOOK FOR API CHANGES!

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 17
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizer.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizer.
......................................................................


Patch Set 15:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/3720/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 15
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Wenhai Li (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/1381

to look at the new patch set (#24).

Change subject: Enable the parallel sort in the optimizor.
......................................................................

Enable the parallel sort in the optimizor.

Based on the MaterializingForwardOperatorDescriptor, enable the parallel sort in full round.
1. Add LogicalOperator Foward to enable MaterializingForwardOperatorDescriptor in the logical optimizor.
2. Introduce hint "psort" before sort to enable the user to use parallel sort.
3. Add the IntroduceParallelSortRule to introduce ReplicateOperator, AggregateOperator, ForwardOperator before SortOperator.
4. Apply ParallelStableSortPOperator into SortOperator if the following conditions are satisfied:
   a. Single column sort.
   b. non-topK condition inlined.
5. Add EnforcePreAdHocReplicateRule to guarantee the consistency of the replicate with forward.
6. Add and partially enable the opt/rtTest cases, including:
   a. Psort on full records.
   b. Psort on a join results.
   c. Nested psort within a subplan below a secondary sort or psort.

Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
---
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/ParallelStableSortPOperator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceParallelSortRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggFuncIntoStandaloneAggregateRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetAsterixPhysicalOperatorsRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineAllNtsInSubplanVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineLeftNtsInSubplanJoinFlatteningVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/SubplanSpecialFlatteningCheckVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/AqlPlusExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/FunctionCollection.java
M asterixdb/asterix-algebra/src/main/javacc/AQLPlus.jj
A asterixdb/asterix-app/data/skew/zipfan1.tbl
A asterixdb/asterix-app/data/skew/zipfan2.tbl
A asterixdb/asterix-app/data/skew/zipfanmissing_1.tbl
A asterixdb/asterix-app/data/skew/zipfanmissing_2.tbl
A asterixdb/asterix-app/data/skew/zipfannull_1.tbl
A asterixdb/asterix-app/data/skew/zipfannull_2.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part1.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part2.tbl
M asterixdb/asterix-app/pom.xml
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/AsterixAlgebricksHyracksIntegrationUtil.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/ParallelSortRuntimeTest.java
M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/TestPartitionComputerFactory.java
M asterixdb/asterix-app/src/test/resources/logging.properties
M asterixdb/asterix-app/src/test/resources/optimizerts/ignore.txt
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_nested.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_prime.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join_nested.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_prime.plan
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_float/avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int16/avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int32/avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int64/avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int8/avg_int8.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-rg/global-rg.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_double/local-avg_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_float/local-avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.1.ddl.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int32/local-avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int64/local-avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int8/local-avg_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-rg/local-rg.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double-null/rg-double-null.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double/rg-double.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/global-rg/global-avg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/local-rg/local-rg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double-null/rg-double-null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double/rg-double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double/rg_double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double_missing/rg_double_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16/rg_int16.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_missing/rg_int16_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_null/rg_int16_null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_seminull/rg_int16_seminull.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32/rg_int32.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32_missing/rg_int32_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64/rg_int64.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64_missing/rg_int64_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_shipdate/rg_shipdate.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string/rg_string.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string_missing/rg_string_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join/psort_join.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_nested/psort_join_nested.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_result/psort_join_result.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_prime/psort_prime.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
A asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/factory/DelimitedRecordTupleParserFactory.java
M asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj
M asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/clause/OrderbyClause.java
M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/GlobalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/LocalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RangeGeneratorTypeComputer.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/ScalarVersionOfAggregateResultType.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/histogram/AsterixStreamingHistogram.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateFunction.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalOperatorTag.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/OperatorAnnotations.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/PhysicalOperatorTag.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/ForwardOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/CardinalityInferenceVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismVariableMappingVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalOperatorDeepCopyWithNewVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalPropertiesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/OperatorDeepCopyVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/PrimaryKeyVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/ProducedVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SchemaVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SubstituteVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/UsedVariableVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/MaterializingForwardPOperator.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/RangeRepartitionExchangePOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/DelayOrderedPartitionedProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/IPartitioningProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/visitors/ILogicalOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/AbstractIntroduceCombinerRule.java
A hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforcePreAdHocReplicateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/RemoveUnusedAssignAndAggregateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/SetAlgebricksPhysicalOperatorsRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/ReplaceNtsWithSubplanInputOperatorVisitor.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksTaskContext.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/ITuplePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/FieldHashPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RandomPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RepartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/FieldRangePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangeMap.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/LocalityAwareMToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningMergingConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningWithMessageConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/HistogramType.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHeapList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/FieldRangeRepartitionComputerFactory.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorNodePushable.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingForwardOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingSampleTaskState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractStreamingHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/DominantQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantileComparator.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinDifferenceQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinSumCountQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/RepartitioningState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/util/HistogramUtils.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/result/ResultFileWriterOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/range/TypeTranslateTest.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/prefix.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan1.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan2.tbl
M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/pom.xml
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramAlgorithmTests.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramFieldType.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HyracksStreamingHistogram.java
M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestTaskContext.java
226 files changed, 26,897 insertions(+), 692 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/81/1381/24
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 24
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 54:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app/2337/ (10/11)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 54
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 38:

WARNING: THIS CHANGE CONTAINS CROSS-PRODUCT CHANGES IN:
* asterixdb
* hyracks-fullstack

PLEASE REVIEW CAREFULLY AND LOOK FOR API CHANGES!

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 38
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 32:

Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/1684/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 32
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizer.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizer.
......................................................................


Patch Set 17: Integration-Tests+1

Integration Tests Successful

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/1428/ : SUCCESS

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 17
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 6:

BAD Compatibility Tests Started https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/118/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 6
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Wenhai Li (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/1381

to look at the new patch set (#53).

Change subject: Enable the parallel sort in the optimizor.
......................................................................

Enable the parallel sort in the optimizor.

Based on the MaterializingForwardOperatorDescriptor, enable the parallel sort in full round.
1. Add LogicalOperator Foward to enable MaterializingForwardOperatorDescriptor in the logical optimizor.
2. Introduce hint "psort" before sort to enable the user to use parallel sort.
3. Add the IntroduceParallelSortRule to introduce ReplicateOperator, AggregateOperator, ForwardOperator before SortOperator.
4. Apply ParallelStableSortPOperator into SortOperator if the following conditions are satisfied:
   a. Single column sort.
   b. non-topK condition inlined.
5. Add EnforcePreAdHocReplicateRule to guarantee the consistency of the replicate with forward.
6. Add and partially enable the opt/rtTest cases, including:
   a. Psort on full records.
   b. Psort on a join results.
   c. Nested psort within a subplan below a secondary sort or psort.
7. Use binarySearch in two RangePartitioners.
8. Use cache in Replicate.
9. Use cacheFiles in ExternalSort in Parallel sort.
10. Provide configurable cache memory budget in conf.

Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
---
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/ParallelStableSortPOperator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceParallelSortRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggFuncIntoStandaloneAggregateRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetAsterixPhysicalOperatorsRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineAllNtsInSubplanVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineLeftNtsInSubplanJoinFlatteningVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/SubplanSpecialFlatteningCheckVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/FunctionCollection.java
A asterixdb/asterix-app/data/skew/zipfian.tbl
A asterixdb/asterix-app/data/skew/zipfian1.tbl
A asterixdb/asterix-app/data/skew/zipfian2.tbl
A asterixdb/asterix-app/data/skew/zipfianmissing_1.tbl
A asterixdb/asterix-app/data/skew/zipfianmissing_2.tbl
A asterixdb/asterix-app/data/skew/zipfiannull_1.tbl
A asterixdb/asterix-app/data/skew/zipfiannull_2.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part1.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part2.tbl
M asterixdb/asterix-app/src/main/java/org/apache/asterix/api/common/APIFramework.java
M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/resource/RequiredCapacityVisitor.java
M asterixdb/asterix-app/src/main/resources/asterix-build-configuration.xml
M asterixdb/asterix-app/src/main/resources/asterix-build-configuration2.xml
M asterixdb/asterix-app/src/main/resources/asterix-build-configuration3.xml
M asterixdb/asterix-app/src/main/resources/asterix-build-configuration4.xml
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/AsterixAlgebricksHyracksIntegrationUtil.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/CacheParallelSortRuntimeTest.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/ParallelSortRuntimeTest.java
M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/TestPartitionComputerFactory.java
M asterixdb/asterix-app/src/test/resources/logging.properties
M asterixdb/asterix-app/src/test/resources/optimizerts/ignore.txt
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_nested.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_prime.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join_nested.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_prime.plan
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_float/avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int16/avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int32/avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int64/avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int8/avg_int8.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-rg/global-rg.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_double/local-avg_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_float/local-avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.1.ddl.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int32/local-avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int64/local-avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int8/local-avg_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-rg/local-rg.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double-null/rg-double-null.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double/rg-double.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.4.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/load/rg_load/rg_load.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/load/rg_load/rg_load.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/load/rg_load/rg_load.3.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.2.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.3.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.4.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/global-rg/global-avg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/local-rg/local-rg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double-null/rg-double-null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double/rg-double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double/rg_double.3.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double_missing/rg_double_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16/rg_int16.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_missing/rg_int16_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_null/rg_int16_null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_seminull/rg_int16_seminull.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32/rg_int32.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32_missing/rg_int32_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64/rg_int64.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64_missing/rg_int64_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_shipdate/rg_shipdate.3.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_shipdate/rg_shipdate.4.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string/rg_string.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string_missing/rg_string_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join/psort_join.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_nested/psort_join_nested.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_result/psort_join_result.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_prime/psort_prime.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/range-hints/order-by-exception_03/order-by-exception_03.4.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/config/CompilerProperties.java
M asterixdb/asterix-docker/docker/asterix-configuration.xml
M asterixdb/asterix-experiments/src/main/resources/ingestion-experiment-binary-and-configs/configs/asterix-configuration.xml
A asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/factory/DelimitedRecordTupleParserFactory.java
M asterixdb/asterix-installer/src/main/resources/conf/asterix-configuration.xml
M asterixdb/asterix-installer/src/test/resources/integrationts/asterix-configuration.xml
M asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj
M asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/clause/OrderbyClause.java
M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/GlobalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/LocalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RangeGeneratorTypeComputer.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/ScalarVersionOfAggregateResultType.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/histogram/AsterixStreamingHistogram.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/sample/SamplingForwardOperatorDescriptor.java
M asterixdb/asterix-yarn/src/main/resources/base-asterix-configuration.xml
M asterixdb/asterix-yarn/src/main/resources/configs/base-asterix-configuration.xml
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalOperatorTag.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/OperatorAnnotations.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/PhysicalOperatorTag.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/ForwardOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/CardinalityInferenceVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismVariableMappingVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalOperatorDeepCopyWithNewVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalPropertiesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/OperatorDeepCopyVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/PrimaryKeyVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/ProducedVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SchemaVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SubstituteVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/UsedVariableVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/MaterializingForwardPOperator.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/RangeRepartitionExchangePOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/ReplicatePOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/DelayOrderedPartitionedProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/IPartitioningProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/visitors/ILogicalOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/rewriter/base/PhysicalOptimizationConfig.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/AbstractIntroduceCombinerRule.java
A hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforcePreAdHocReplicateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/ExtractCommonOperatorsRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/RemoveUnusedAssignAndAggregateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/SetAlgebricksPhysicalOperatorsRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/ReplaceNtsWithSubplanInputOperatorVisitor.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksTaskContext.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/ITuplePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/FieldHashPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RandomPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RepartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/FieldRangePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangeMap.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/io/GeneratedRunFileReader.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/io/RunFileReader.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/io/RunFileWriter.java
A hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/io/VirtualRunFileReader.java
A hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/io/VirtualRunFileWriter.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/LocalityAwareMToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningMergingConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningWithMessageConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/misc/MaterializerTaskState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/misc/VirtualReplicateOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/HistogramType.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHeapList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/FieldRangeRepartitionComputerFactory.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorNodePushable.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingSampleTaskState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractStreamingHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/DominantQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantileComparator.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinDifferenceQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinSumCountQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/RepartitioningState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/util/HistogramUtils.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/result/ResultFileWriterOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/sort/AbstractExternalSortRunGenerator.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/sort/AbstractExternalSortRunMerger.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/sort/AbstractSorterOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/sort/ExternalSortOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/sort/ExternalSortRunGenerator.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/sort/ExternalSortRunMerger.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/range/TypeTranslateTest.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/prefix.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfian1.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfian2.tbl
M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/pom.xml
M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/unit/ExternalSortRunGeneratorTest.java
M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/unit/RunMergingFrameReaderTest.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramAlgorithmTests.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramFieldType.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HyracksStreamingHistogram.java
M hyracks-fullstack/hyracks/hyracks-examples/tpch-example/tpchclient/src/main/java/org/apache/hyracks/examples/tpch/client/Sort.java
M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestTaskContext.java
274 files changed, 28,811 insertions(+), 766 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/81/1381/53
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 53
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 32:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/4019/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 32
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 31:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/4018/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 31
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 29:

WARNING: THIS CHANGE CONTAINS CROSS-PRODUCT CHANGES IN:
* asterixdb
* hyracks-fullstack

PLEASE REVIEW CAREFULLY AND LOOK FOR API CHANGES!

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 29
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 30:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/4017/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 30
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 28: Integration-Tests+1

Integration Tests Successful

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/1677/ : SUCCESS

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 28
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 53:

Build Started https://asterix-jenkins.ics.uci.edu/job/hyracks-gerrit/168/ (4/10)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 53
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 6: BAD-1

BAD Compatibility Tests Failed

https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/118/ : UNSTABLE

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 6
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Wenhai Li (Code Review)" <do...@asterixdb.incubator.apache.org>.
Wenhai Li has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 10:

Enable parallel sort in full round, please refer to psort_prime.plan and psort_join.plan as the logical template to start review.

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 10
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 49:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/5050/ (4/6)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 49
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Wenhai Li (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/1381

to look at the new patch set (#39).

Change subject: Enable the parallel sort in the optimizor.
......................................................................

Enable the parallel sort in the optimizor.

Based on the MaterializingForwardOperatorDescriptor, enable the parallel sort in full round.
1. Add LogicalOperator Foward to enable MaterializingForwardOperatorDescriptor in the logical optimizor.
2. Introduce hint "psort" before sort to enable the user to use parallel sort.
3. Add the IntroduceParallelSortRule to introduce ReplicateOperator, AggregateOperator, ForwardOperator before SortOperator.
4. Apply ParallelStableSortPOperator into SortOperator if the following conditions are satisfied:
   a. Single column sort.
   b. non-topK condition inlined.
5. Add EnforcePreAdHocReplicateRule to guarantee the consistency of the replicate with forward.
6. Add and partially enable the opt/rtTest cases, including:
   a. Psort on full records.
   b. Psort on a join results.
   c. Nested psort within a subplan below a secondary sort or psort.
7. Use binarySearch in the two RangePartitioners.

Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
---
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/ParallelStableSortPOperator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceParallelSortRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggFuncIntoStandaloneAggregateRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetAsterixPhysicalOperatorsRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineAllNtsInSubplanVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineLeftNtsInSubplanJoinFlatteningVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/SubplanSpecialFlatteningCheckVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/AqlPlusExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/FunctionCollection.java
M asterixdb/asterix-algebra/src/main/javacc/AQLPlus.jj
A asterixdb/asterix-app/data/skew/zipfan1.tbl
A asterixdb/asterix-app/data/skew/zipfan2.tbl
A asterixdb/asterix-app/data/skew/zipfanmissing_1.tbl
A asterixdb/asterix-app/data/skew/zipfanmissing_2.tbl
A asterixdb/asterix-app/data/skew/zipfannull_1.tbl
A asterixdb/asterix-app/data/skew/zipfannull_2.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part1.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part2.tbl
M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/resource/RequiredCapacityVisitor.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/AsterixAlgebricksHyracksIntegrationUtil.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/ParallelSortRuntimeTest.java
M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/TestPartitionComputerFactory.java
M asterixdb/asterix-app/src/test/resources/logging.properties
M asterixdb/asterix-app/src/test/resources/optimizerts/ignore.txt
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_nested.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_prime.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join_nested.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_prime.plan
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_float/avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int16/avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int32/avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int64/avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int8/avg_int8.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-rg/global-rg.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_double/local-avg_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_float/local-avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.1.ddl.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int32/local-avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int64/local-avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int8/local-avg_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-rg/local-rg.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double-null/rg-double-null.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double/rg-double.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.2.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.3.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.4.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/global-rg/global-avg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/local-rg/local-rg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double-null/rg-double-null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double/rg-double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double/rg_double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double_missing/rg_double_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16/rg_int16.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_missing/rg_int16_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_null/rg_int16_null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_seminull/rg_int16_seminull.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32/rg_int32.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32_missing/rg_int32_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64/rg_int64.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64_missing/rg_int64_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_shipdate/rg_shipdate.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string/rg_string.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string_missing/rg_string_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join/psort_join.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_nested/psort_join_nested.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_result/psort_join_result.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_prime/psort_prime.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/range-hints/order-by-exception_03/order-by-exception_03.4.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
A asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/factory/DelimitedRecordTupleParserFactory.java
M asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj
M asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/clause/OrderbyClause.java
M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/GlobalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/LocalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RangeGeneratorTypeComputer.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/ScalarVersionOfAggregateResultType.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/histogram/AsterixStreamingHistogram.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/sample/SamplingForwardOperatorDescriptor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalOperatorTag.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/OperatorAnnotations.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/PhysicalOperatorTag.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/ForwardOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/CardinalityInferenceVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismVariableMappingVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalOperatorDeepCopyWithNewVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalPropertiesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/OperatorDeepCopyVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/PrimaryKeyVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/ProducedVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SchemaVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SubstituteVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/UsedVariableVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/MaterializingForwardPOperator.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/RangeRepartitionExchangePOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/DelayOrderedPartitionedProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/IPartitioningProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/visitors/ILogicalOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/AbstractIntroduceCombinerRule.java
A hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforcePreAdHocReplicateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/RemoveUnusedAssignAndAggregateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/SetAlgebricksPhysicalOperatorsRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/ReplaceNtsWithSubplanInputOperatorVisitor.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksTaskContext.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/ITuplePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/FieldHashPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RandomPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RepartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/FieldRangePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangeMap.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/LocalityAwareMToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningMergingConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningWithMessageConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/HistogramType.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHeapList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/FieldRangeRepartitionComputerFactory.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorNodePushable.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingSampleTaskState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractStreamingHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/DominantQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantileComparator.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinDifferenceQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinSumCountQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/RepartitioningState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/util/HistogramUtils.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/result/ResultFileWriterOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/range/TypeTranslateTest.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/prefix.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan1.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan2.tbl
M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/pom.xml
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramAlgorithmTests.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramFieldType.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HyracksStreamingHistogram.java
M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestTaskContext.java
238 files changed, 27,425 insertions(+), 698 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/81/1381/39
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 39
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 22:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/3819/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 22
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizer.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizer.
......................................................................


Patch Set 7:

BAD Compatibility Tests Started https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/119/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 7
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 9:

BAD Compatibility Tests Started https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/122/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 9
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 25:

WARNING: THIS CHANGE CONTAINS CROSS-PRODUCT CHANGES IN:
* asterixdb
* hyracks-fullstack

PLEASE REVIEW CAREFULLY AND LOOK FOR API CHANGES!

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 25
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 45: BAD+1

BAD Compatibility Tests Successful

https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/783/ : SUCCESS

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 45
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 1:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/3505/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 37:

Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/1809/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 37
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 9:

Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/1397/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 9
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizer.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizer.
......................................................................


Patch Set 16:

Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/1427/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 16
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 50:

Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/2573/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 50
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 52:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-source-assemblies/397/ (7/10)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 52
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 44:

Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/1989/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 44
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 4:

WARNING: THIS CHANGE CONTAINS CROSS-PRODUCT CHANGES IN:
* asterixdb
* hyracks-fullstack

PLEASE REVIEW CAREFULLY AND LOOK FOR API CHANGES!

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 4
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 53:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-cancellation-test/181/ (5/10)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 53
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Wenhai Li (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/1381

to look at the new patch set (#46).

Change subject: Enable the parallel sort in the optimizor.
......................................................................

Enable the parallel sort in the optimizor.

Based on the MaterializingForwardOperatorDescriptor, enable the parallel sort in full round.
1. Add LogicalOperator Foward to enable MaterializingForwardOperatorDescriptor in the logical optimizor.
2. Introduce hint "psort" before sort to enable the user to use parallel sort.
3. Add the IntroduceParallelSortRule to introduce ReplicateOperator, AggregateOperator, ForwardOperator before SortOperator.
4. Apply ParallelStableSortPOperator into SortOperator if the following conditions are satisfied:
   a. Single column sort.
   b. non-topK condition inlined.
5. Add EnforcePreAdHocReplicateRule to guarantee the consistency of the replicate with forward.
6. Add and partially enable the opt/rtTest cases, including:
   a. Psort on full records.
   b. Psort on a join results.
   c. Nested psort within a subplan below a secondary sort or psort.
7. Use binarySearch in two RangePartitioners.

Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
---
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/ParallelStableSortPOperator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceParallelSortRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggFuncIntoStandaloneAggregateRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetAsterixPhysicalOperatorsRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineAllNtsInSubplanVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineLeftNtsInSubplanJoinFlatteningVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/SubplanSpecialFlatteningCheckVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/FunctionCollection.java
A asterixdb/asterix-app/data/skew/zipfian.tbl
A asterixdb/asterix-app/data/skew/zipfian1.tbl
A asterixdb/asterix-app/data/skew/zipfian2.tbl
A asterixdb/asterix-app/data/skew/zipfianmissing_1.tbl
A asterixdb/asterix-app/data/skew/zipfianmissing_2.tbl
A asterixdb/asterix-app/data/skew/zipfiannull_1.tbl
A asterixdb/asterix-app/data/skew/zipfiannull_2.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part1.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part2.tbl
M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/resource/RequiredCapacityVisitor.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/AsterixAlgebricksHyracksIntegrationUtil.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/ParallelSortRuntimeTest.java
M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/TestPartitionComputerFactory.java
M asterixdb/asterix-app/src/test/resources/logging.properties
M asterixdb/asterix-app/src/test/resources/optimizerts/ignore.txt
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_nested.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_prime.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join_nested.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_prime.plan
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_float/avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int16/avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int32/avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int64/avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int8/avg_int8.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-rg/global-rg.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_double/local-avg_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_float/local-avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.1.ddl.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int32/local-avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int64/local-avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int8/local-avg_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-rg/local-rg.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double-null/rg-double-null.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double/rg-double.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.4.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/load/rg_load/rg_load.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/load/rg_load/rg_load.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/load/rg_load/rg_load.3.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.2.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.3.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.4.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/global-rg/global-avg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/local-rg/local-rg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double-null/rg-double-null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double/rg-double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double/rg_double.3.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double_missing/rg_double_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16/rg_int16.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_missing/rg_int16_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_null/rg_int16_null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_seminull/rg_int16_seminull.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32/rg_int32.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32_missing/rg_int32_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64/rg_int64.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64_missing/rg_int64_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_shipdate/rg_shipdate.3.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_shipdate/rg_shipdate.4.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string/rg_string.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string_missing/rg_string_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join/psort_join.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_nested/psort_join_nested.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_result/psort_join_result.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_prime/psort_prime.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/range-hints/order-by-exception_03/order-by-exception_03.4.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
A asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/factory/DelimitedRecordTupleParserFactory.java
M asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj
M asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/clause/OrderbyClause.java
M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/GlobalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/LocalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RangeGeneratorTypeComputer.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/ScalarVersionOfAggregateResultType.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/histogram/AsterixStreamingHistogram.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/sample/SamplingForwardOperatorDescriptor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalOperatorTag.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/OperatorAnnotations.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/PhysicalOperatorTag.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/ForwardOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/CardinalityInferenceVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismVariableMappingVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalOperatorDeepCopyWithNewVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalPropertiesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/OperatorDeepCopyVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/PrimaryKeyVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/ProducedVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SchemaVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SubstituteVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/UsedVariableVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/MaterializingForwardPOperator.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/RangeRepartitionExchangePOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/DelayOrderedPartitionedProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/IPartitioningProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/visitors/ILogicalOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/AbstractIntroduceCombinerRule.java
A hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforcePreAdHocReplicateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/RemoveUnusedAssignAndAggregateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/SetAlgebricksPhysicalOperatorsRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/ReplaceNtsWithSubplanInputOperatorVisitor.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksTaskContext.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/ITuplePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/FieldHashPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RandomPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RepartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/FieldRangePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangeMap.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/LocalityAwareMToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningMergingConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningWithMessageConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/HistogramType.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHeapList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/FieldRangeRepartitionComputerFactory.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorNodePushable.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingSampleTaskState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractStreamingHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/DominantQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantileComparator.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinDifferenceQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinSumCountQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/RepartitioningState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/util/HistogramUtils.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/result/ResultFileWriterOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/range/TypeTranslateTest.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/prefix.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfian1.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfian2.tbl
M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/pom.xml
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramAlgorithmTests.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramFieldType.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HyracksStreamingHistogram.java
M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestTaskContext.java
242 files changed, 27,890 insertions(+), 695 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/81/1381/46
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 46
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 39:

WARNING: THIS CHANGE CONTAINS CROSS-PRODUCT CHANGES IN:
* asterixdb
* hyracks-fullstack

PLEASE REVIEW CAREFULLY AND LOOK FOR API CHANGES!

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 39
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 11: BAD-1

BAD Compatibility Tests Failed

https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/143/ : UNSTABLE

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 11
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 11:

WARNING: THIS CHANGE CONTAINS CROSS-PRODUCT CHANGES IN:
* asterixdb
* hyracks-fullstack

PLEASE REVIEW CAREFULLY AND LOOK FOR API CHANGES!

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 11
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 55:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-sonar/5562/ (8/11)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 55
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 27:

Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/1667/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 27
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 49:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-verify-no-installer-app/184/ (1/6)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 49
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 25:

Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/1531/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 25
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Wenhai Li (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/1381

to look at the new patch set (#48).

Change subject: Enable the parallel sort in the optimizor.
......................................................................

Enable the parallel sort in the optimizor.

Based on the MaterializingForwardOperatorDescriptor, enable the parallel sort in full round.
1. Add LogicalOperator Foward to enable MaterializingForwardOperatorDescriptor in the logical optimizor.
2. Introduce hint "psort" before sort to enable the user to use parallel sort.
3. Add the IntroduceParallelSortRule to introduce ReplicateOperator, AggregateOperator, ForwardOperator before SortOperator.
4. Apply ParallelStableSortPOperator into SortOperator if the following conditions are satisfied:
   a. Single column sort.
   b. non-topK condition inlined.
5. Add EnforcePreAdHocReplicateRule to guarantee the consistency of the replicate with forward.
6. Add and partially enable the opt/rtTest cases, including:
   a. Psort on full records.
   b. Psort on a join results.
   c. Nested psort within a subplan below a secondary sort or psort.
7. Use binarySearch in two RangePartitioners.

Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
---
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/ParallelStableSortPOperator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceParallelSortRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggFuncIntoStandaloneAggregateRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetAsterixPhysicalOperatorsRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineAllNtsInSubplanVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineLeftNtsInSubplanJoinFlatteningVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/SubplanSpecialFlatteningCheckVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/FunctionCollection.java
A asterixdb/asterix-app/data/skew/zipfian.tbl
A asterixdb/asterix-app/data/skew/zipfian1.tbl
A asterixdb/asterix-app/data/skew/zipfian2.tbl
A asterixdb/asterix-app/data/skew/zipfianmissing_1.tbl
A asterixdb/asterix-app/data/skew/zipfianmissing_2.tbl
A asterixdb/asterix-app/data/skew/zipfiannull_1.tbl
A asterixdb/asterix-app/data/skew/zipfiannull_2.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part1.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part2.tbl
M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/resource/RequiredCapacityVisitor.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/AsterixAlgebricksHyracksIntegrationUtil.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/ParallelSortRuntimeTest.java
M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/TestPartitionComputerFactory.java
M asterixdb/asterix-app/src/test/resources/logging.properties
M asterixdb/asterix-app/src/test/resources/optimizerts/ignore.txt
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_nested.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_prime.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join_nested.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_prime.plan
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_float/avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int16/avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int32/avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int64/avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int8/avg_int8.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-rg/global-rg.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_double/local-avg_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_float/local-avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.1.ddl.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int32/local-avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int64/local-avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int8/local-avg_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-rg/local-rg.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double-null/rg-double-null.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double/rg-double.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.4.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/load/rg_load/rg_load.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/load/rg_load/rg_load.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/load/rg_load/rg_load.3.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.2.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.3.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.4.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/global-rg/global-avg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/local-rg/local-rg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double-null/rg-double-null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double/rg-double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double/rg_double.3.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double_missing/rg_double_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16/rg_int16.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_missing/rg_int16_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_null/rg_int16_null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_seminull/rg_int16_seminull.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32/rg_int32.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32_missing/rg_int32_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64/rg_int64.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64_missing/rg_int64_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_shipdate/rg_shipdate.3.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_shipdate/rg_shipdate.4.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string/rg_string.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string_missing/rg_string_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join/psort_join.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_nested/psort_join_nested.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_result/psort_join_result.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_prime/psort_prime.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/range-hints/order-by-exception_03/order-by-exception_03.4.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
A asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/factory/DelimitedRecordTupleParserFactory.java
M asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj
M asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/clause/OrderbyClause.java
M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/GlobalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/LocalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RangeGeneratorTypeComputer.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/ScalarVersionOfAggregateResultType.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/histogram/AsterixStreamingHistogram.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/sample/SamplingForwardOperatorDescriptor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalOperatorTag.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/OperatorAnnotations.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/PhysicalOperatorTag.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/ForwardOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/CardinalityInferenceVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismVariableMappingVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalOperatorDeepCopyWithNewVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalPropertiesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/OperatorDeepCopyVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/PrimaryKeyVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/ProducedVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SchemaVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SubstituteVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/UsedVariableVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/MaterializingForwardPOperator.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/RangeRepartitionExchangePOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/DelayOrderedPartitionedProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/IPartitioningProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/visitors/ILogicalOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/AbstractIntroduceCombinerRule.java
A hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforcePreAdHocReplicateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/RemoveUnusedAssignAndAggregateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/SetAlgebricksPhysicalOperatorsRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/ReplaceNtsWithSubplanInputOperatorVisitor.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksTaskContext.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/ITuplePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/FieldHashPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RandomPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RepartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/FieldRangePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangeMap.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/LocalityAwareMToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningMergingConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningWithMessageConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/HistogramType.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHeapList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/FieldRangeRepartitionComputerFactory.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorNodePushable.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingSampleTaskState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractStreamingHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/DominantQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantileComparator.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinDifferenceQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinSumCountQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/RepartitioningState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/util/HistogramUtils.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/result/ResultFileWriterOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/range/TypeTranslateTest.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/prefix.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfian1.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfian2.tbl
M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/pom.xml
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramAlgorithmTests.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramFieldType.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HyracksStreamingHistogram.java
M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestTaskContext.java
242 files changed, 27,890 insertions(+), 695 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/81/1381/48
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 48
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 56: Contrib-2

BAD Compatibility Tests Failed

https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/3121/ : UNSTABLE

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 56
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 56:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/8924/ (1/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 56
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Anon. E. Moose (Code Review)" <do...@asterixdb.incubator.apache.org>.
Anon. E. Moose #1000171 has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 56: Contrib-2

Analytics Compatibility Compilation Failed
https://goo.gl/UxTFHg : UNSTABLE

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 56
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 49: Integration-Tests+1

Integration Tests Successful

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/2546/ : SUCCESS

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 49
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 52: Integration-Tests-1

Integration Tests Failed

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/3210/ : UNSTABLE

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 52
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 45:

BAD Compatibility Tests Started https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/783/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 45
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Wenhai Li (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/1381

to look at the new patch set (#30).

Change subject: Enable the parallel sort in the optimizor.
......................................................................

Enable the parallel sort in the optimizor.

Based on the MaterializingForwardOperatorDescriptor, enable the parallel sort in full round.
1. Add LogicalOperator Foward to enable MaterializingForwardOperatorDescriptor in the logical optimizor.
2. Introduce hint "psort" before sort to enable the user to use parallel sort.
3. Add the IntroduceParallelSortRule to introduce ReplicateOperator, AggregateOperator, ForwardOperator before SortOperator.
4. Apply ParallelStableSortPOperator into SortOperator if the following conditions are satisfied:
   a. Single column sort.
   b. non-topK condition inlined.
5. Add EnforcePreAdHocReplicateRule to guarantee the consistency of the replicate with forward.
6. Add and partially enable the opt/rtTest cases, including:
   a. Psort on full records.
   b. Psort on a join results.
   c. Nested psort within a subplan below a secondary sort or psort.
7. Use binarySearch in the two RangePartitioners.

Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
---
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/ParallelStableSortPOperator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceParallelSortRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggFuncIntoStandaloneAggregateRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetAsterixPhysicalOperatorsRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineAllNtsInSubplanVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineLeftNtsInSubplanJoinFlatteningVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/SubplanSpecialFlatteningCheckVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/AqlPlusExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/FunctionCollection.java
M asterixdb/asterix-algebra/src/main/javacc/AQLPlus.jj
A asterixdb/asterix-app/data/skew/zipfan1.tbl
A asterixdb/asterix-app/data/skew/zipfan2.tbl
A asterixdb/asterix-app/data/skew/zipfanmissing_1.tbl
A asterixdb/asterix-app/data/skew/zipfanmissing_2.tbl
A asterixdb/asterix-app/data/skew/zipfannull_1.tbl
A asterixdb/asterix-app/data/skew/zipfannull_2.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part1.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part2.tbl
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/AsterixAlgebricksHyracksIntegrationUtil.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/ParallelSortRuntimeTest.java
M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/TestPartitionComputerFactory.java
M asterixdb/asterix-app/src/test/resources/logging.properties
M asterixdb/asterix-app/src/test/resources/optimizerts/ignore.txt
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_nested.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_prime.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join_nested.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_prime.plan
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_float/avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int16/avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int32/avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int64/avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int8/avg_int8.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-rg/global-rg.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_double/local-avg_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_float/local-avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.1.ddl.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int32/local-avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int64/local-avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int8/local-avg_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-rg/local-rg.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double-null/rg-double-null.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double/rg-double.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.2.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.3.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.4.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/global-rg/global-avg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/local-rg/local-rg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double-null/rg-double-null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double/rg-double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double/rg_double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double_missing/rg_double_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16/rg_int16.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_missing/rg_int16_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_null/rg_int16_null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_seminull/rg_int16_seminull.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32/rg_int32.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32_missing/rg_int32_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64/rg_int64.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64_missing/rg_int64_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_shipdate/rg_shipdate.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string/rg_string.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string_missing/rg_string_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join/psort_join.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_nested/psort_join_nested.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_result/psort_join_result.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_prime/psort_prime.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/range-hints/order-by-exception_03/order-by-exception_03.4.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
A asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/factory/DelimitedRecordTupleParserFactory.java
M asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj
M asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/clause/OrderbyClause.java
M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/GlobalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/LocalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RangeGeneratorTypeComputer.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/ScalarVersionOfAggregateResultType.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/histogram/AsterixStreamingHistogram.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/sample/SamplingForwardOperatorDescriptor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalOperatorTag.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/OperatorAnnotations.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/PhysicalOperatorTag.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/ForwardOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/CardinalityInferenceVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismVariableMappingVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalOperatorDeepCopyWithNewVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalPropertiesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/OperatorDeepCopyVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/PrimaryKeyVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/ProducedVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SchemaVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SubstituteVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/UsedVariableVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/MaterializingForwardPOperator.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/RangeRepartitionExchangePOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/DelayOrderedPartitionedProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/IPartitioningProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/visitors/ILogicalOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/AbstractIntroduceCombinerRule.java
A hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforcePreAdHocReplicateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/RemoveUnusedAssignAndAggregateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/SetAlgebricksPhysicalOperatorsRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/ReplaceNtsWithSubplanInputOperatorVisitor.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksTaskContext.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/ITuplePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/FieldHashPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RandomPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RepartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/FieldRangePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangeMap.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/LocalityAwareMToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningMergingConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningWithMessageConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/HistogramType.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHeapList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/FieldRangeRepartitionComputerFactory.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorNodePushable.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingSampleTaskState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractStreamingHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/DominantQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantileComparator.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinDifferenceQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinSumCountQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/RepartitioningState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/util/HistogramUtils.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/result/ResultFileWriterOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/range/TypeTranslateTest.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/prefix.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan1.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan2.tbl
M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/pom.xml
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramAlgorithmTests.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramFieldType.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HyracksStreamingHistogram.java
M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestTaskContext.java
237 files changed, 27,396 insertions(+), 698 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/81/1381/30
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 30
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 11:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/3709/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 11
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 5:

Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/1392/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 5
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Wenhai Li (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/1381

to look at the new patch set (#43).

Change subject: Enable the parallel sort in the optimizor.
......................................................................

Enable the parallel sort in the optimizor.

Based on the MaterializingForwardOperatorDescriptor, enable the parallel sort in full round.
1. Add LogicalOperator Foward to enable MaterializingForwardOperatorDescriptor in the logical optimizor.
2. Introduce hint "psort" before sort to enable the user to use parallel sort.
3. Add the IntroduceParallelSortRule to introduce ReplicateOperator, AggregateOperator, ForwardOperator before SortOperator.
4. Apply ParallelStableSortPOperator into SortOperator if the following conditions are satisfied:
   a. Single column sort.
   b. non-topK condition inlined.
5. Add EnforcePreAdHocReplicateRule to guarantee the consistency of the replicate with forward.
6. Add and partially enable the opt/rtTest cases, including:
   a. Psort on full records.
   b. Psort on a join results.
   c. Nested psort within a subplan below a secondary sort or psort.
7. Use binarySearch in two RangePartitioners.

Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
---
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/ParallelStableSortPOperator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceParallelSortRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggFuncIntoStandaloneAggregateRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetAsterixPhysicalOperatorsRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineAllNtsInSubplanVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineLeftNtsInSubplanJoinFlatteningVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/SubplanSpecialFlatteningCheckVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/FunctionCollection.java
A asterixdb/asterix-app/data/skew/zipfan1.tbl
A asterixdb/asterix-app/data/skew/zipfan2.tbl
A asterixdb/asterix-app/data/skew/zipfanmissing_1.tbl
A asterixdb/asterix-app/data/skew/zipfanmissing_2.tbl
A asterixdb/asterix-app/data/skew/zipfannull_1.tbl
A asterixdb/asterix-app/data/skew/zipfannull_2.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part1.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part2.tbl
M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/resource/RequiredCapacityVisitor.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/AsterixAlgebricksHyracksIntegrationUtil.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/ParallelSortRuntimeTest.java
M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/TestPartitionComputerFactory.java
M asterixdb/asterix-app/src/test/resources/logging.properties
M asterixdb/asterix-app/src/test/resources/optimizerts/ignore.txt
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_nested.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_prime.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join_nested.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_prime.plan
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_float/avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int16/avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int32/avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int64/avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int8/avg_int8.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-rg/global-rg.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_double/local-avg_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_float/local-avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.1.ddl.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int32/local-avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int64/local-avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int8/local-avg_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-rg/local-rg.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double-null/rg-double-null.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double/rg-double.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.2.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.3.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.4.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/global-rg/global-avg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/local-rg/local-rg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double-null/rg-double-null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double/rg-double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double/rg_double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double_missing/rg_double_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16/rg_int16.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_missing/rg_int16_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_null/rg_int16_null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_seminull/rg_int16_seminull.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32/rg_int32.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32_missing/rg_int32_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64/rg_int64.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64_missing/rg_int64_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_shipdate/rg_shipdate.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string/rg_string.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string_missing/rg_string_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join/psort_join.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_nested/psort_join_nested.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_result/psort_join_result.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_prime/psort_prime.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/range-hints/order-by-exception_03/order-by-exception_03.4.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
A asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/factory/DelimitedRecordTupleParserFactory.java
M asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj
M asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/clause/OrderbyClause.java
M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/GlobalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/LocalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RangeGeneratorTypeComputer.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/ScalarVersionOfAggregateResultType.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/histogram/AsterixStreamingHistogram.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/sample/SamplingForwardOperatorDescriptor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalOperatorTag.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/OperatorAnnotations.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/PhysicalOperatorTag.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/ForwardOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/CardinalityInferenceVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismVariableMappingVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalOperatorDeepCopyWithNewVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalPropertiesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/OperatorDeepCopyVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/PrimaryKeyVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/ProducedVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SchemaVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SubstituteVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/UsedVariableVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/MaterializingForwardPOperator.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/RangeRepartitionExchangePOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/DelayOrderedPartitionedProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/IPartitioningProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/visitors/ILogicalOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/AbstractIntroduceCombinerRule.java
A hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforcePreAdHocReplicateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/RemoveUnusedAssignAndAggregateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/SetAlgebricksPhysicalOperatorsRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/ReplaceNtsWithSubplanInputOperatorVisitor.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksTaskContext.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/ITuplePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/FieldHashPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RandomPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RepartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/FieldRangePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangeMap.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/LocalityAwareMToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningMergingConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningWithMessageConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/HistogramType.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHeapList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/FieldRangeRepartitionComputerFactory.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorNodePushable.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingSampleTaskState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractStreamingHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/DominantQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantileComparator.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinDifferenceQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinSumCountQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/RepartitioningState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/util/HistogramUtils.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/result/ResultFileWriterOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/range/TypeTranslateTest.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/prefix.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan1.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan2.tbl
M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/pom.xml
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramAlgorithmTests.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramFieldType.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HyracksStreamingHistogram.java
M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestTaskContext.java
236 files changed, 27,418 insertions(+), 695 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/81/1381/43
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 43
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 56:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-verify-asterix-app/3912/ (3/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 56
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 35:

WARNING: THIS CHANGE CONTAINS CROSS-PRODUCT CHANGES IN:
* asterixdb
* hyracks-fullstack

PLEASE REVIEW CAREFULLY AND LOOK FOR API CHANGES!

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 35
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 56:

BAD Compatibility Tests Started https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/3121/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 56
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 29:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/4016/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 29
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 42: BAD+1

BAD Compatibility Tests Successful

https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/512/ : SUCCESS

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 42
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 2:

WARNING: THIS CHANGE CONTAINS CROSS-PRODUCT CHANGES IN:
* asterixdb
* hyracks-fullstack

PLEASE REVIEW CAREFULLY AND LOOK FOR API CHANGES!

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizer.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizer.
......................................................................


Patch Set 16:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/3722/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 16
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 6:

WARNING: THIS CHANGE CONTAINS CROSS-PRODUCT CHANGES IN:
* asterixdb
* hyracks-fullstack

PLEASE REVIEW CAREFULLY AND LOOK FOR API CHANGES!

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 6
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 10:

Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/1398/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 10
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 33:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/4175/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 33
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Wenhai Li (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/1381

to look at the new patch set (#36).

Change subject: Enable the parallel sort in the optimizor.
......................................................................

Enable the parallel sort in the optimizor.

Based on the MaterializingForwardOperatorDescriptor, enable the parallel sort in full round.
1. Add LogicalOperator Foward to enable MaterializingForwardOperatorDescriptor in the logical optimizor.
2. Introduce hint "psort" before sort to enable the user to use parallel sort.
3. Add the IntroduceParallelSortRule to introduce ReplicateOperator, AggregateOperator, ForwardOperator before SortOperator.
4. Apply ParallelStableSortPOperator into SortOperator if the following conditions are satisfied:
   a. Single column sort.
   b. non-topK condition inlined.
5. Add EnforcePreAdHocReplicateRule to guarantee the consistency of the replicate with forward.
6. Add and partially enable the opt/rtTest cases, including:
   a. Psort on full records.
   b. Psort on a join results.
   c. Nested psort within a subplan below a secondary sort or psort.
7. Use binarySearch in two RangePartitioners.

Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
---
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/ParallelStableSortPOperator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceParallelSortRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggFuncIntoStandaloneAggregateRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetAsterixPhysicalOperatorsRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineAllNtsInSubplanVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineLeftNtsInSubplanJoinFlatteningVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/SubplanSpecialFlatteningCheckVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/AqlPlusExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/FunctionCollection.java
M asterixdb/asterix-algebra/src/main/javacc/AQLPlus.jj
A asterixdb/asterix-app/data/skew/zipfan1.tbl
A asterixdb/asterix-app/data/skew/zipfan2.tbl
A asterixdb/asterix-app/data/skew/zipfanmissing_1.tbl
A asterixdb/asterix-app/data/skew/zipfanmissing_2.tbl
A asterixdb/asterix-app/data/skew/zipfannull_1.tbl
A asterixdb/asterix-app/data/skew/zipfannull_2.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part1.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part2.tbl
M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/resource/RequiredCapacityVisitor.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/AsterixAlgebricksHyracksIntegrationUtil.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/ParallelSortRuntimeTest.java
M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/TestPartitionComputerFactory.java
M asterixdb/asterix-app/src/test/resources/logging.properties
M asterixdb/asterix-app/src/test/resources/optimizerts/ignore.txt
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_nested.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_prime.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join_nested.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_prime.plan
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_float/avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int16/avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int32/avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int64/avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int8/avg_int8.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-rg/global-rg.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_double/local-avg_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_float/local-avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.1.ddl.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int32/local-avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int64/local-avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int8/local-avg_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-rg/local-rg.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double-null/rg-double-null.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double/rg-double.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.2.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.3.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.4.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/global-rg/global-avg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/local-rg/local-rg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double-null/rg-double-null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double/rg-double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double/rg_double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double_missing/rg_double_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16/rg_int16.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_missing/rg_int16_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_null/rg_int16_null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_seminull/rg_int16_seminull.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32/rg_int32.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32_missing/rg_int32_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64/rg_int64.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64_missing/rg_int64_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_shipdate/rg_shipdate.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string/rg_string.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string_missing/rg_string_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join/psort_join.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_nested/psort_join_nested.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_result/psort_join_result.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_prime/psort_prime.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/range-hints/order-by-exception_03/order-by-exception_03.4.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
A asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/factory/DelimitedRecordTupleParserFactory.java
M asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj
M asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/clause/OrderbyClause.java
M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/GlobalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/LocalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RangeGeneratorTypeComputer.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/ScalarVersionOfAggregateResultType.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/histogram/AsterixStreamingHistogram.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/sample/SamplingForwardOperatorDescriptor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalOperatorTag.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/OperatorAnnotations.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/PhysicalOperatorTag.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/ForwardOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/CardinalityInferenceVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismVariableMappingVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalOperatorDeepCopyWithNewVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalPropertiesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/OperatorDeepCopyVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/PrimaryKeyVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/ProducedVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SchemaVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SubstituteVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/UsedVariableVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/MaterializingForwardPOperator.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/RangeRepartitionExchangePOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/DelayOrderedPartitionedProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/IPartitioningProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/visitors/ILogicalOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/AbstractIntroduceCombinerRule.java
A hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforcePreAdHocReplicateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/RemoveUnusedAssignAndAggregateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/SetAlgebricksPhysicalOperatorsRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/ReplaceNtsWithSubplanInputOperatorVisitor.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksTaskContext.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/ITuplePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/FieldHashPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RandomPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RepartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/FieldRangePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangeMap.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/LocalityAwareMToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningMergingConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningWithMessageConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/HistogramType.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHeapList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/FieldRangeRepartitionComputerFactory.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorNodePushable.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingSampleTaskState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractStreamingHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/DominantQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantileComparator.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinDifferenceQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinSumCountQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/RepartitioningState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/util/HistogramUtils.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/result/ResultFileWriterOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/range/TypeTranslateTest.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/prefix.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan1.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan2.tbl
M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/pom.xml
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramAlgorithmTests.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramFieldType.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HyracksStreamingHistogram.java
M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestTaskContext.java
238 files changed, 27,425 insertions(+), 698 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/81/1381/36
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 36
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>

Change in asterixdb[master]: Enable the parallel sort in the optimizer.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizer.
......................................................................


Patch Set 14:

Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/1420/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 14
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizer.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizer.
......................................................................


Patch Set 19:

WARNING: THIS CHANGE CONTAINS CROSS-PRODUCT CHANGES IN:
* asterixdb
* hyracks-fullstack

PLEASE REVIEW CAREFULLY AND LOOK FOR API CHANGES!

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 19
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 37:

WARNING: THIS CHANGE CONTAINS CROSS-PRODUCT CHANGES IN:
* asterixdb
* hyracks-fullstack

PLEASE REVIEW CAREFULLY AND LOOK FOR API CHANGES!

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 37
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Wenhai Li (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/1381

to look at the new patch set (#31).

Change subject: Enable the parallel sort in the optimizor.
......................................................................

Enable the parallel sort in the optimizor.

Based on the MaterializingForwardOperatorDescriptor, enable the parallel sort in full round.
1. Add LogicalOperator Foward to enable MaterializingForwardOperatorDescriptor in the logical optimizor.
2. Introduce hint "psort" before sort to enable the user to use parallel sort.
3. Add the IntroduceParallelSortRule to introduce ReplicateOperator, AggregateOperator, ForwardOperator before SortOperator.
4. Apply ParallelStableSortPOperator into SortOperator if the following conditions are satisfied:
   a. Single column sort.
   b. non-topK condition inlined.
5. Add EnforcePreAdHocReplicateRule to guarantee the consistency of the replicate with forward.
6. Add and partially enable the opt/rtTest cases, including
   a. Psort on full records.
   b. Psort on a join results.
   c. Nested psort within a subplan below a secondary sort or psort.
7. Use binarySearch in the two RangePartitioners.

Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
---
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/ParallelStableSortPOperator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceParallelSortRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggFuncIntoStandaloneAggregateRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetAsterixPhysicalOperatorsRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineAllNtsInSubplanVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineLeftNtsInSubplanJoinFlatteningVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/SubplanSpecialFlatteningCheckVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/AqlPlusExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/FunctionCollection.java
M asterixdb/asterix-algebra/src/main/javacc/AQLPlus.jj
A asterixdb/asterix-app/data/skew/zipfan1.tbl
A asterixdb/asterix-app/data/skew/zipfan2.tbl
A asterixdb/asterix-app/data/skew/zipfanmissing_1.tbl
A asterixdb/asterix-app/data/skew/zipfanmissing_2.tbl
A asterixdb/asterix-app/data/skew/zipfannull_1.tbl
A asterixdb/asterix-app/data/skew/zipfannull_2.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part1.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part2.tbl
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/AsterixAlgebricksHyracksIntegrationUtil.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/ParallelSortRuntimeTest.java
M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/TestPartitionComputerFactory.java
M asterixdb/asterix-app/src/test/resources/logging.properties
M asterixdb/asterix-app/src/test/resources/optimizerts/ignore.txt
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_nested.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_prime.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join_nested.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_prime.plan
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_float/avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int16/avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int32/avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int64/avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int8/avg_int8.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-rg/global-rg.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_double/local-avg_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_float/local-avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.1.ddl.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int32/local-avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int64/local-avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int8/local-avg_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-rg/local-rg.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double-null/rg-double-null.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double/rg-double.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.2.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.3.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.4.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/global-rg/global-avg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/local-rg/local-rg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double-null/rg-double-null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double/rg-double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double/rg_double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double_missing/rg_double_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16/rg_int16.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_missing/rg_int16_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_null/rg_int16_null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_seminull/rg_int16_seminull.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32/rg_int32.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32_missing/rg_int32_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64/rg_int64.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64_missing/rg_int64_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_shipdate/rg_shipdate.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string/rg_string.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string_missing/rg_string_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join/psort_join.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_nested/psort_join_nested.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_result/psort_join_result.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_prime/psort_prime.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/range-hints/order-by-exception_03/order-by-exception_03.4.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
A asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/factory/DelimitedRecordTupleParserFactory.java
M asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj
M asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/clause/OrderbyClause.java
M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/GlobalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/LocalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RangeGeneratorTypeComputer.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/ScalarVersionOfAggregateResultType.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/histogram/AsterixStreamingHistogram.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/sample/SamplingForwardOperatorDescriptor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalOperatorTag.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/OperatorAnnotations.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/PhysicalOperatorTag.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/ForwardOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/CardinalityInferenceVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismVariableMappingVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalOperatorDeepCopyWithNewVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalPropertiesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/OperatorDeepCopyVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/PrimaryKeyVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/ProducedVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SchemaVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SubstituteVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/UsedVariableVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/MaterializingForwardPOperator.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/RangeRepartitionExchangePOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/DelayOrderedPartitionedProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/IPartitioningProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/visitors/ILogicalOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/AbstractIntroduceCombinerRule.java
A hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforcePreAdHocReplicateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/RemoveUnusedAssignAndAggregateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/SetAlgebricksPhysicalOperatorsRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/ReplaceNtsWithSubplanInputOperatorVisitor.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksTaskContext.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/ITuplePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/FieldHashPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RandomPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RepartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/FieldRangePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangeMap.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/LocalityAwareMToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningMergingConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningWithMessageConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/HistogramType.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHeapList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/FieldRangeRepartitionComputerFactory.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorNodePushable.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingSampleTaskState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractStreamingHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/DominantQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantileComparator.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinDifferenceQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinSumCountQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/RepartitioningState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/util/HistogramUtils.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/result/ResultFileWriterOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/range/TypeTranslateTest.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/prefix.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan1.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan2.tbl
M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/pom.xml
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramAlgorithmTests.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramFieldType.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HyracksStreamingHistogram.java
M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestTaskContext.java
237 files changed, 27,396 insertions(+), 698 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/81/1381/31
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 31
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Wenhai Li (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/1381

to look at the new patch set (#28).

Change subject: Enable the parallel sort in the optimizor.
......................................................................

Enable the parallel sort in the optimizor.

Based on the MaterializingForwardOperatorDescriptor, enable the parallel sort in full round.
1. Add LogicalOperator Foward to enable MaterializingForwardOperatorDescriptor in the logical optimizor.
2. Introduce hint "psort" before sort to enable the user to use parallel sort.
3. Add the IntroduceParallelSortRule to introduce ReplicateOperator, AggregateOperator, ForwardOperator before SortOperator.
4. Apply ParallelStableSortPOperator into SortOperator if the following conditions are satisfied:
   a. Single column sort.
   b. non-topK condition inlined.
5. Add EnforcePreAdHocReplicateRule to guarantee the consistency of the replicate with forward.
6. Add and partially enable the opt/rtTest cases, including:
   a. Psort on full records.
   b. Psort on a join results.
   c. Nested psort within a subplan below a secondary sort or psort.
7. Use binarySearch in two RangePartitioners.

Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
---
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/ParallelStableSortPOperator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceParallelSortRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggFuncIntoStandaloneAggregateRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetAsterixPhysicalOperatorsRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineAllNtsInSubplanVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineLeftNtsInSubplanJoinFlatteningVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/SubplanSpecialFlatteningCheckVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/AqlPlusExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/FunctionCollection.java
M asterixdb/asterix-algebra/src/main/javacc/AQLPlus.jj
A asterixdb/asterix-app/data/skew/zipfan1.tbl
A asterixdb/asterix-app/data/skew/zipfan2.tbl
A asterixdb/asterix-app/data/skew/zipfanmissing_1.tbl
A asterixdb/asterix-app/data/skew/zipfanmissing_2.tbl
A asterixdb/asterix-app/data/skew/zipfannull_1.tbl
A asterixdb/asterix-app/data/skew/zipfannull_2.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part1.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part2.tbl
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/AsterixAlgebricksHyracksIntegrationUtil.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/ParallelSortRuntimeTest.java
M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/TestPartitionComputerFactory.java
M asterixdb/asterix-app/src/test/resources/logging.properties
M asterixdb/asterix-app/src/test/resources/optimizerts/ignore.txt
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_nested.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_prime.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join_nested.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_prime.plan
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_float/avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int16/avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int32/avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int64/avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int8/avg_int8.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-rg/global-rg.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_double/local-avg_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_float/local-avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.1.ddl.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int32/local-avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int64/local-avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int8/local-avg_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-rg/local-rg.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double-null/rg-double-null.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double/rg-double.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.2.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.3.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.4.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/global-rg/global-avg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/local-rg/local-rg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double-null/rg-double-null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double/rg-double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double/rg_double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double_missing/rg_double_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16/rg_int16.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_missing/rg_int16_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_null/rg_int16_null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_seminull/rg_int16_seminull.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32/rg_int32.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32_missing/rg_int32_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64/rg_int64.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64_missing/rg_int64_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_shipdate/rg_shipdate.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string/rg_string.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string_missing/rg_string_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join/psort_join.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_nested/psort_join_nested.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_result/psort_join_result.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_prime/psort_prime.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/range-hints/order-by-exception_03/order-by-exception_03.4.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
A asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/factory/DelimitedRecordTupleParserFactory.java
M asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj
M asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/clause/OrderbyClause.java
M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/GlobalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/LocalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RangeGeneratorTypeComputer.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/ScalarVersionOfAggregateResultType.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/histogram/AsterixStreamingHistogram.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/sample/SamplingForwardOperatorDescriptor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalOperatorTag.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/OperatorAnnotations.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/PhysicalOperatorTag.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/ForwardOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/CardinalityInferenceVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismVariableMappingVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalOperatorDeepCopyWithNewVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalPropertiesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/OperatorDeepCopyVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/PrimaryKeyVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/ProducedVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SchemaVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SubstituteVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/UsedVariableVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/MaterializingForwardPOperator.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/RangeRepartitionExchangePOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/DelayOrderedPartitionedProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/IPartitioningProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/visitors/ILogicalOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/AbstractIntroduceCombinerRule.java
A hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforcePreAdHocReplicateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/RemoveUnusedAssignAndAggregateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/SetAlgebricksPhysicalOperatorsRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/ReplaceNtsWithSubplanInputOperatorVisitor.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksTaskContext.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/ITuplePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/FieldHashPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RandomPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RepartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/FieldRangePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangeMap.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/LocalityAwareMToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningMergingConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningWithMessageConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/HistogramType.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHeapList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/FieldRangeRepartitionComputerFactory.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorNodePushable.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingSampleTaskState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractStreamingHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/DominantQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantileComparator.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinDifferenceQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinSumCountQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/RepartitioningState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/util/HistogramUtils.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/result/ResultFileWriterOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/range/TypeTranslateTest.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/prefix.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan1.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan2.tbl
M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/pom.xml
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramAlgorithmTests.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramFieldType.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HyracksStreamingHistogram.java
M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestTaskContext.java
237 files changed, 27,381 insertions(+), 698 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/81/1381/28
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 28
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 47:

Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/2317/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 47
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 9:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/3666/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 9
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Wenhai Li (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/1381

to look at the new patch set (#27).

Change subject: Enable the parallel sort in the optimizor.
......................................................................

Enable the parallel sort in the optimizor.

Based on the MaterializingForwardOperatorDescriptor, enable the parallel sort in full round.
1. Add LogicalOperator Foward to enable MaterializingForwardOperatorDescriptor in the logical optimizor.
2. Introduce hint "psort" before sort to enable the user to use parallel sort.
3. Add the IntroduceParallelSortRule to introduce ReplicateOperator, AggregateOperator, ForwardOperator before SortOperator.
4. Apply ParallelStableSortPOperator into SortOperator if the following conditions are satisfied:
   a. Single column sort.
   b. non-topK condition inlined.
5. Add EnforcePreAdHocReplicateRule to guarantee the consistency of the replicate with forward.
6. Add and partially enable the opt/rtTest cases, including:
   a. Psort on full records.
   b. Psort on a join results.
   c. Nested psort within a subplan below a secondary sort or psort.
7. Use binarySearch in two RangePartitioners.

Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
---
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/ParallelStableSortPOperator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceParallelSortRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggFuncIntoStandaloneAggregateRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetAsterixPhysicalOperatorsRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineAllNtsInSubplanVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineLeftNtsInSubplanJoinFlatteningVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/SubplanSpecialFlatteningCheckVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/AqlPlusExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/FunctionCollection.java
M asterixdb/asterix-algebra/src/main/javacc/AQLPlus.jj
A asterixdb/asterix-app/data/skew/zipfan1.tbl
A asterixdb/asterix-app/data/skew/zipfan2.tbl
A asterixdb/asterix-app/data/skew/zipfanmissing_1.tbl
A asterixdb/asterix-app/data/skew/zipfanmissing_2.tbl
A asterixdb/asterix-app/data/skew/zipfannull_1.tbl
A asterixdb/asterix-app/data/skew/zipfannull_2.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part1.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part2.tbl
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/AsterixAlgebricksHyracksIntegrationUtil.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/ParallelSortRuntimeTest.java
M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/TestPartitionComputerFactory.java
M asterixdb/asterix-app/src/test/resources/logging.properties
M asterixdb/asterix-app/src/test/resources/optimizerts/ignore.txt
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_nested.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_prime.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join_nested.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_prime.plan
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_float/avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int16/avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int32/avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int64/avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int8/avg_int8.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-rg/global-rg.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_double/local-avg_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_float/local-avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.1.ddl.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int32/local-avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int64/local-avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int8/local-avg_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-rg/local-rg.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double-null/rg-double-null.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double/rg-double.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.2.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.3.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.4.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/global-rg/global-avg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/local-rg/local-rg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double-null/rg-double-null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double/rg-double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double/rg_double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double_missing/rg_double_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16/rg_int16.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_missing/rg_int16_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_null/rg_int16_null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_seminull/rg_int16_seminull.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32/rg_int32.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32_missing/rg_int32_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64/rg_int64.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64_missing/rg_int64_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_shipdate/rg_shipdate.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string/rg_string.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string_missing/rg_string_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join/psort_join.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_nested/psort_join_nested.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_result/psort_join_result.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_prime/psort_prime.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/range-hints/order-by-exception_03/order-by-exception_03.4.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
A asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/factory/DelimitedRecordTupleParserFactory.java
M asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj
M asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/clause/OrderbyClause.java
M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/GlobalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/LocalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RangeGeneratorTypeComputer.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/ScalarVersionOfAggregateResultType.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/histogram/AsterixStreamingHistogram.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateFunction.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalOperatorTag.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/OperatorAnnotations.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/PhysicalOperatorTag.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/ForwardOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/CardinalityInferenceVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismVariableMappingVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalOperatorDeepCopyWithNewVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalPropertiesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/OperatorDeepCopyVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/PrimaryKeyVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/ProducedVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SchemaVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SubstituteVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/UsedVariableVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/MaterializingForwardPOperator.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/RangeRepartitionExchangePOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/DelayOrderedPartitionedProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/IPartitioningProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/visitors/ILogicalOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/AbstractIntroduceCombinerRule.java
A hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforcePreAdHocReplicateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/RemoveUnusedAssignAndAggregateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/SetAlgebricksPhysicalOperatorsRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/ReplaceNtsWithSubplanInputOperatorVisitor.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksTaskContext.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/ITuplePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/FieldHashPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RandomPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RepartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/FieldRangePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangeMap.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/LocalityAwareMToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningMergingConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningWithMessageConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/HistogramType.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHeapList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/FieldRangeRepartitionComputerFactory.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorNodePushable.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingForwardOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingSampleTaskState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractStreamingHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/DominantQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantileComparator.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinDifferenceQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinSumCountQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/RepartitioningState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/util/HistogramUtils.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/result/ResultFileWriterOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/range/TypeTranslateTest.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/prefix.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan1.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan2.tbl
M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/pom.xml
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramAlgorithmTests.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramFieldType.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HyracksStreamingHistogram.java
M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestTaskContext.java
236 files changed, 27,249 insertions(+), 698 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/81/1381/27
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 27
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 55: Contrib-1

BAD Compatibility Tests Failed

https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/2110/ : UNSTABLE

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 55
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 47:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app/154/ (2/3)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 47
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Wenhai Li (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/1381

to look at the new patch set (#32).

Change subject: Enable the parallel sort in the optimizor.
......................................................................

Enable the parallel sort in the optimizor.

Based on the MaterializingForwardOperatorDescriptor, enable the parallel sort in full round.
1. Add LogicalOperator Foward to enable MaterializingForwardOperatorDescriptor in the logical optimizor.
2. Introduce hint "psort" before sort to enable the user to use parallel sort.
3. Add the IntroduceParallelSortRule to introduce ReplicateOperator, AggregateOperator, ForwardOperator before SortOperator.
4. Apply ParallelStableSortPOperator into SortOperator if the following conditions are satisfied:
   a. Single column sort.
   b. non-topK condition inlined.
5. Add EnforcePreAdHocReplicateRule to guarantee the consistency of the replicate with forward.
6. Add and partially enable the opt/rtTest cases, including
   a. Psort on full records.
   b. Psort on a join result.
   c. Nested psort within a subplan below a secondary sort or psort.
7. Use binarySearch in the two RangePartitioners.

Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
---
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/ParallelStableSortPOperator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceParallelSortRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggFuncIntoStandaloneAggregateRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetAsterixPhysicalOperatorsRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineAllNtsInSubplanVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineLeftNtsInSubplanJoinFlatteningVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/SubplanSpecialFlatteningCheckVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/AqlPlusExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/FunctionCollection.java
M asterixdb/asterix-algebra/src/main/javacc/AQLPlus.jj
A asterixdb/asterix-app/data/skew/zipfan1.tbl
A asterixdb/asterix-app/data/skew/zipfan2.tbl
A asterixdb/asterix-app/data/skew/zipfanmissing_1.tbl
A asterixdb/asterix-app/data/skew/zipfanmissing_2.tbl
A asterixdb/asterix-app/data/skew/zipfannull_1.tbl
A asterixdb/asterix-app/data/skew/zipfannull_2.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part1.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part2.tbl
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/AsterixAlgebricksHyracksIntegrationUtil.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/ParallelSortRuntimeTest.java
M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/TestPartitionComputerFactory.java
M asterixdb/asterix-app/src/test/resources/logging.properties
M asterixdb/asterix-app/src/test/resources/optimizerts/ignore.txt
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_nested.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_prime.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join_nested.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_prime.plan
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_float/avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int16/avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int32/avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int64/avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int8/avg_int8.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-rg/global-rg.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_double/local-avg_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_float/local-avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.1.ddl.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int32/local-avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int64/local-avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int8/local-avg_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-rg/local-rg.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double-null/rg-double-null.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double/rg-double.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.2.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.3.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.4.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/global-rg/global-avg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/local-rg/local-rg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double-null/rg-double-null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double/rg-double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double/rg_double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double_missing/rg_double_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16/rg_int16.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_missing/rg_int16_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_null/rg_int16_null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_seminull/rg_int16_seminull.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32/rg_int32.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32_missing/rg_int32_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64/rg_int64.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64_missing/rg_int64_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_shipdate/rg_shipdate.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string/rg_string.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string_missing/rg_string_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join/psort_join.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_nested/psort_join_nested.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_result/psort_join_result.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_prime/psort_prime.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/range-hints/order-by-exception_03/order-by-exception_03.4.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
A asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/factory/DelimitedRecordTupleParserFactory.java
M asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj
M asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/clause/OrderbyClause.java
M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/GlobalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/LocalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RangeGeneratorTypeComputer.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/ScalarVersionOfAggregateResultType.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/histogram/AsterixStreamingHistogram.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/sample/SamplingForwardOperatorDescriptor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalOperatorTag.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/OperatorAnnotations.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/PhysicalOperatorTag.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/ForwardOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/CardinalityInferenceVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismVariableMappingVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalOperatorDeepCopyWithNewVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalPropertiesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/OperatorDeepCopyVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/PrimaryKeyVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/ProducedVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SchemaVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SubstituteVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/UsedVariableVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/MaterializingForwardPOperator.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/RangeRepartitionExchangePOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/DelayOrderedPartitionedProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/IPartitioningProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/visitors/ILogicalOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/AbstractIntroduceCombinerRule.java
A hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforcePreAdHocReplicateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/RemoveUnusedAssignAndAggregateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/SetAlgebricksPhysicalOperatorsRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/ReplaceNtsWithSubplanInputOperatorVisitor.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksTaskContext.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/ITuplePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/FieldHashPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RandomPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RepartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/FieldRangePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangeMap.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/LocalityAwareMToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningMergingConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningWithMessageConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/HistogramType.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHeapList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/FieldRangeRepartitionComputerFactory.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorNodePushable.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingSampleTaskState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractStreamingHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/DominantQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantileComparator.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinDifferenceQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinSumCountQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/RepartitioningState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/util/HistogramUtils.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/result/ResultFileWriterOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/range/TypeTranslateTest.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/prefix.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan1.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan2.tbl
M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/pom.xml
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramAlgorithmTests.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramFieldType.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HyracksStreamingHistogram.java
M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestTaskContext.java
237 files changed, 27,396 insertions(+), 698 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/81/1381/32
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 32
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 48:

WARNING: THIS CHANGE CONTAINS CROSS-PRODUCT CHANGES IN:
* asterixdb
* hyracks-fullstack

PLEASE REVIEW CAREFULLY AND LOOK FOR API CHANGES!

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 48
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 53:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app/1067/ (8/10)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 53
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 21:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/3805/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 21
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 41:

BAD Compatibility Tests Started https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/508/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 41
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 34:

WARNING: THIS CHANGE CONTAINS CROSS-PRODUCT CHANGES IN:
* asterixdb
* hyracks-fullstack

PLEASE REVIEW CAREFULLY AND LOOK FOR API CHANGES!

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 34
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 33:

WARNING: THIS CHANGE CONTAINS CROSS-PRODUCT CHANGES IN:
* asterixdb
* hyracks-fullstack

PLEASE REVIEW CAREFULLY AND LOOK FOR API CHANGES!

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 33
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Wenhai Li (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/1381

to look at the new patch set (#38).

Change subject: Enable the parallel sort in the optimizor.
......................................................................

Enable the parallel sort in the optimizor.

Based on the MaterializingForwardOperatorDescriptor, enable the parallel sort in full round.
1. Add LogicalOperator Foward to enable MaterializingForwardOperatorDescriptor in the logical optimizor.
2. Introduce hint "psort" before sort to enable the user to use parallel sort.
3. Add the IntroduceParallelSortRule to introduce ReplicateOperator, AggregateOperator, ForwardOperator before SortOperator.
4. Apply ParallelStableSortPOperator into SortOperator if the following conditions are satisfied:
   a. Single column sort.
   b. non-topK condition inlined.
5. Add EnforcePreAdHocReplicateRule to guarantee the consistency of the replicate with forward.
6. Add and partially enable the opt/rtTest cases, including:
   a. Psort on full records.
   b. Psort on a join results.
   c. Nested psort within a subplan below a secondary sort or psort.
7. Use binarySearch in two RangePartitioners.

Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
---
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/ParallelStableSortPOperator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceParallelSortRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggFuncIntoStandaloneAggregateRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetAsterixPhysicalOperatorsRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineAllNtsInSubplanVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineLeftNtsInSubplanJoinFlatteningVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/SubplanSpecialFlatteningCheckVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/AqlPlusExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/FunctionCollection.java
M asterixdb/asterix-algebra/src/main/javacc/AQLPlus.jj
A asterixdb/asterix-app/data/skew/zipfan1.tbl
A asterixdb/asterix-app/data/skew/zipfan2.tbl
A asterixdb/asterix-app/data/skew/zipfanmissing_1.tbl
A asterixdb/asterix-app/data/skew/zipfanmissing_2.tbl
A asterixdb/asterix-app/data/skew/zipfannull_1.tbl
A asterixdb/asterix-app/data/skew/zipfannull_2.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part1.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part2.tbl
M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/resource/RequiredCapacityVisitor.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/AsterixAlgebricksHyracksIntegrationUtil.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/ParallelSortRuntimeTest.java
M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/TestPartitionComputerFactory.java
M asterixdb/asterix-app/src/test/resources/logging.properties
M asterixdb/asterix-app/src/test/resources/optimizerts/ignore.txt
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_nested.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_prime.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join_nested.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_prime.plan
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_float/avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int16/avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int32/avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int64/avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int8/avg_int8.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-rg/global-rg.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_double/local-avg_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_float/local-avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.1.ddl.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int32/local-avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int64/local-avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int8/local-avg_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-rg/local-rg.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double-null/rg-double-null.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double/rg-double.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.2.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.3.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.4.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/global-rg/global-avg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/local-rg/local-rg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double-null/rg-double-null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double/rg-double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double/rg_double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double_missing/rg_double_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16/rg_int16.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_missing/rg_int16_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_null/rg_int16_null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_seminull/rg_int16_seminull.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32/rg_int32.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32_missing/rg_int32_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64/rg_int64.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64_missing/rg_int64_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_shipdate/rg_shipdate.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string/rg_string.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string_missing/rg_string_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join/psort_join.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_nested/psort_join_nested.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_result/psort_join_result.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_prime/psort_prime.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/range-hints/order-by-exception_03/order-by-exception_03.4.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
A asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/factory/DelimitedRecordTupleParserFactory.java
M asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj
M asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/clause/OrderbyClause.java
M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/GlobalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/LocalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RangeGeneratorTypeComputer.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/ScalarVersionOfAggregateResultType.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/histogram/AsterixStreamingHistogram.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/sample/SamplingForwardOperatorDescriptor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalOperatorTag.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/OperatorAnnotations.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/PhysicalOperatorTag.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/ForwardOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/CardinalityInferenceVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismVariableMappingVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalOperatorDeepCopyWithNewVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalPropertiesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/OperatorDeepCopyVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/PrimaryKeyVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/ProducedVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SchemaVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SubstituteVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/UsedVariableVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/MaterializingForwardPOperator.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/RangeRepartitionExchangePOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/DelayOrderedPartitionedProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/IPartitioningProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/visitors/ILogicalOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/AbstractIntroduceCombinerRule.java
A hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforcePreAdHocReplicateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/RemoveUnusedAssignAndAggregateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/SetAlgebricksPhysicalOperatorsRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/ReplaceNtsWithSubplanInputOperatorVisitor.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksTaskContext.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/ITuplePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/FieldHashPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RandomPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RepartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/FieldRangePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangeMap.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/LocalityAwareMToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningMergingConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningWithMessageConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/HistogramType.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHeapList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/FieldRangeRepartitionComputerFactory.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorNodePushable.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingSampleTaskState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractStreamingHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/DominantQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantileComparator.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinDifferenceQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinSumCountQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/RepartitioningState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/util/HistogramUtils.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/result/ResultFileWriterOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/range/TypeTranslateTest.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/prefix.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan1.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan2.tbl
M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/pom.xml
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramAlgorithmTests.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramFieldType.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HyracksStreamingHistogram.java
M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestTaskContext.java
238 files changed, 27,425 insertions(+), 698 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/81/1381/38
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 38
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 52:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-verify-storage/740/ (1/10)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 52
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 54:

WARNING: THIS CHANGE CONTAINS CROSS-PRODUCT CHANGES IN:
* asterixdb
* hyracks-fullstack

PLEASE REVIEW CAREFULLY AND LOOK FOR API CHANGES!

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 54
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 53: Integration-Tests-1

Integration Tests Failed

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/3271/ : UNSTABLE

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 53
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 52:

Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/3210/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 52
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Wenhai Li (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/1381

to look at the new patch set (#41).

Change subject: Enable the parallel sort in the optimizor.
......................................................................

Enable the parallel sort in the optimizor.

Based on the MaterializingForwardOperatorDescriptor, enable the parallel sort in full round.
1. Add LogicalOperator Foward to enable MaterializingForwardOperatorDescriptor in the logical optimizor.
2. Introduce hint "psort" before sort to enable the user to use parallel sort.
3. Add the IntroduceParallelSortRule to introduce ReplicateOperator, AggregateOperator, ForwardOperator before SortOperator.
4. Apply ParallelStableSortPOperator into SortOperator if the following conditions are satisfied:
   a. Single column sort.
   b. non-topK condition inlined.
5. Add EnforcePreAdHocReplicateRule to guarantee the consistency of the replicate with forward.
6. Add and partially enable the opt/rtTest cases, including:
   a. Psort on full records.
   b. Psort on a join results.
   c. Nested psort within a subplan below a secondary sort or psort.
7. Use binarySearch in two RangePartitioners.

Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
---
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/ParallelStableSortPOperator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceParallelSortRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggFuncIntoStandaloneAggregateRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetAsterixPhysicalOperatorsRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineAllNtsInSubplanVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineLeftNtsInSubplanJoinFlatteningVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/SubplanSpecialFlatteningCheckVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/AqlPlusExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/FunctionCollection.java
M asterixdb/asterix-algebra/src/main/javacc/AQLPlus.jj
A asterixdb/asterix-app/data/skew/zipfan1.tbl
A asterixdb/asterix-app/data/skew/zipfan2.tbl
A asterixdb/asterix-app/data/skew/zipfanmissing_1.tbl
A asterixdb/asterix-app/data/skew/zipfanmissing_2.tbl
A asterixdb/asterix-app/data/skew/zipfannull_1.tbl
A asterixdb/asterix-app/data/skew/zipfannull_2.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part1.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part2.tbl
M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/resource/RequiredCapacityVisitor.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/AsterixAlgebricksHyracksIntegrationUtil.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/ParallelSortRuntimeTest.java
M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/TestPartitionComputerFactory.java
M asterixdb/asterix-app/src/test/resources/logging.properties
M asterixdb/asterix-app/src/test/resources/optimizerts/ignore.txt
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_nested.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_prime.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join_nested.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_prime.plan
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_float/avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int16/avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int32/avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int64/avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int8/avg_int8.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-rg/global-rg.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_double/local-avg_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_float/local-avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.1.ddl.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int32/local-avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int64/local-avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int8/local-avg_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-rg/local-rg.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double-null/rg-double-null.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double/rg-double.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.2.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.3.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.4.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/global-rg/global-avg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/local-rg/local-rg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double-null/rg-double-null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double/rg-double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double/rg_double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double_missing/rg_double_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16/rg_int16.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_missing/rg_int16_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_null/rg_int16_null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_seminull/rg_int16_seminull.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32/rg_int32.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32_missing/rg_int32_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64/rg_int64.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64_missing/rg_int64_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_shipdate/rg_shipdate.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string/rg_string.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string_missing/rg_string_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join/psort_join.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_nested/psort_join_nested.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_result/psort_join_result.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_prime/psort_prime.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/range-hints/order-by-exception_03/order-by-exception_03.4.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
A asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/factory/DelimitedRecordTupleParserFactory.java
M asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj
M asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/clause/OrderbyClause.java
M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/GlobalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/LocalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RangeGeneratorTypeComputer.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/ScalarVersionOfAggregateResultType.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/histogram/AsterixStreamingHistogram.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/sample/SamplingForwardOperatorDescriptor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalOperatorTag.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/OperatorAnnotations.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/PhysicalOperatorTag.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/ForwardOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/CardinalityInferenceVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismVariableMappingVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalOperatorDeepCopyWithNewVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalPropertiesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/OperatorDeepCopyVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/PrimaryKeyVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/ProducedVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SchemaVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SubstituteVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/UsedVariableVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/MaterializingForwardPOperator.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/RangeRepartitionExchangePOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/DelayOrderedPartitionedProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/IPartitioningProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/visitors/ILogicalOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/AbstractIntroduceCombinerRule.java
A hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforcePreAdHocReplicateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/RemoveUnusedAssignAndAggregateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/SetAlgebricksPhysicalOperatorsRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/ReplaceNtsWithSubplanInputOperatorVisitor.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksTaskContext.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/ITuplePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/FieldHashPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RandomPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RepartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/FieldRangePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangeMap.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/LocalityAwareMToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningMergingConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningWithMessageConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/HistogramType.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHeapList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/FieldRangeRepartitionComputerFactory.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorNodePushable.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingSampleTaskState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractStreamingHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/DominantQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantileComparator.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinDifferenceQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinSumCountQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/RepartitioningState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/util/HistogramUtils.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/result/ResultFileWriterOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/range/TypeTranslateTest.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/prefix.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan1.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan2.tbl
M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/pom.xml
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramAlgorithmTests.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramFieldType.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HyracksStreamingHistogram.java
M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestTaskContext.java
238 files changed, 27,425 insertions(+), 698 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/81/1381/41
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 41
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 50:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-verify-asterix-app/209/ (3/6)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 50
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizer.

Posted by "Wenhai Li (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/1381

to look at the new patch set (#7).

Change subject: Enable the parallel sort in the optimizer.
......................................................................

Enable the parallel sort in the optimizer.

Based on the MaterializingForwardOperatorDescriptor, enable the parallel sort in full round.
1. Add LogicalOperator Foward to enable MaterializingForwardOperatorDescriptor in the logical optimizor.
2. Introduce hint "psort" before sort to enable the user to use parallel sort.
3. Add the IntroduceParallelSortRule to introduce ReplicateOperator, AggregateOperator, ForwardOperator before SortOperator.
4. Apply ParallelStableSortPOperator into SortOperator if the following conditions are satisfied:
   a. Single column sort.
   b. non-topK condition inlined.
5. Add EnforcePreAdHocReplicateRule to guarantee the consistency of the replicate with forward.
6. Add and partially enable the opt/rtTest cases.

Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
---
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/ParallelStableSortPOperator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceParallelSortRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggFuncIntoStandaloneAggregateRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetAsterixPhysicalOperatorsRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineAllNtsInSubplanVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineLeftNtsInSubplanJoinFlatteningVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/SubplanSpecialFlatteningCheckVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/AqlPlusExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/FunctionCollection.java
M asterixdb/asterix-algebra/src/main/javacc/AQLPlus.jj
A asterixdb/asterix-app/data/skew/zipfan1.tbl
A asterixdb/asterix-app/data/skew/zipfan2.tbl
M asterixdb/asterix-app/pom.xml
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/AsterixAlgebricksHyracksIntegrationUtil.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/ParallelSortRuntimeTest.java
M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/TestPartitionComputerFactory.java
M asterixdb/asterix-app/src/test/resources/logging.properties
M asterixdb/asterix-app/src/test/resources/optimizerts/ignore.txt
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_prime.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_prime.plan
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_float/avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int16/avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int32/avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int64/avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int8/avg_int8.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-rg/global-rg.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_double/local-avg_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_float/local-avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.1.ddl.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int32/local-avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int64/local-avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int8/local-avg_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-rg/local-rg.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double-null/rg-double-null.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double/rg-double.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/global-rg/global-avg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/local-rg/local-rg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double-null/rg-double-null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double/rg-double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double/rg_double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16/rg_int16.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32/rg_int32.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64/rg_int64.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string/rg_string.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join/psort_join.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_prime/psort_prime.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
A asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/factory/DelimitedRecordTupleParserFactory.java
M asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj
M asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/clause/OrderbyClause.java
M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/GlobalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/LocalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RangeGeneratorTypeComputer.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/ScalarVersionOfAggregateResultType.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/histogram/AsterixStreamingHistogram.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateFunction.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalOperatorTag.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/OperatorAnnotations.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/PhysicalOperatorTag.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/ForwardOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/CardinalityInferenceVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismVariableMappingVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalOperatorDeepCopyWithNewVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalPropertiesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/OperatorDeepCopyVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/PrimaryKeyVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/ProducedVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SchemaVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SubstituteVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/UsedVariableVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/MaterializingForwardPOperator.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/RangeRepartitionExchangePOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/DelayOrderedPartitionedProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/IPartitioningProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/visitors/ILogicalOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/AbstractIntroduceCombinerRule.java
A hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforcePreAdHocReplicateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/RemoveUnusedAssignAndAggregateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/SetAlgebricksPhysicalOperatorsRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/ReplaceNtsWithSubplanInputOperatorVisitor.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksTaskContext.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/ITuplePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/FieldHashPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RandomPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RepartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/FieldRangePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangeMap.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/LocalityAwareMToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningMergingConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningWithMessageConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/HistogramType.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHeapList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/FieldRangeRepartitionComputerFactory.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorNodePushable.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingForwardOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingSampleTaskState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractStreamingHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/DominantQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantileComparator.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinDifferenceQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinSumCountQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/RepartitioningState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/util/HistogramUtils.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/result/ResultFileWriterOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/range/TypeTranslateTest.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan1.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan2.tbl
M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/pom.xml
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramAlgorithmTests.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramFieldType.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HyracksStreamingHistogram.java
M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestTaskContext.java
177 files changed, 17,838 insertions(+), 692 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/81/1381/7
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 7
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 41: BAD-1

BAD Compatibility Tests Failed

https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/508/ : UNSTABLE

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 41
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 56:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app-sql-execution/3461/ (2/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 56
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 51: Integration-Tests+1

Integration Tests Successful

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/3126/ : SUCCESS

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 51
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 48:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-verify-storage/103/ (3/6)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 48
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 54:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-verify-storage/2063/ (2/11)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 54
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 52:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/5682/ (5/10)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 52
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 51:

Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/3126/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 51
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 55:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-verify-asterix-app/2194/ (11/11)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 55
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Wenhai Li (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/1381

to look at the new patch set (#5).

Change subject: Enable the parallel sort in the optimizor.
......................................................................

Enable the parallel sort in the optimizor.

Based on the MaterializingForwardOperatorDescriptor, enable the parallel sort in full round.
1. Add LogicalOperator Foward to enable MaterializingForwardOperatorDescriptor in the logical optimizor.
2. Introduce hint "psort" before sort to enable the user to use parallel sort.
3. Add the IntroduceParallelSortRule to introduce ReplicateOperator, AggregateOperator, ForwardOperator before SortOperator.
4. Apply ParallelStableSortPOperator into SortOperator if the following conditions are satisfied:
   a. Single column sort.
   b. non-topK condition inlined.
5. Add the EnforcePreAdHocReplicateRule to guarantee the consistency of the replicate with forward.
6. Add and partially enable the opt/rtTest cases.

Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
---
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/ParallelStableSortPOperator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceParallelSortRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggFuncIntoStandaloneAggregateRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetAsterixPhysicalOperatorsRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineAllNtsInSubplanVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineLeftNtsInSubplanJoinFlatteningVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/SubplanSpecialFlatteningCheckVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/AqlPlusExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/FunctionCollection.java
M asterixdb/asterix-algebra/src/main/javacc/AQLPlus.jj
A asterixdb/asterix-app/data/skew/zipfan1.tbl
A asterixdb/asterix-app/data/skew/zipfan2.tbl
M asterixdb/asterix-app/pom.xml
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/AsterixAlgebricksHyracksIntegrationUtil.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/ParallelSortRuntimeTest.java
M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/TestPartitionComputerFactory.java
M asterixdb/asterix-app/src/test/resources/logging.properties
M asterixdb/asterix-app/src/test/resources/optimizerts/ignore.txt
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_prime.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_prime.plan
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_float/avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int16/avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int32/avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int64/avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int8/avg_int8.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-rg/global-rg.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_double/local-avg_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_float/local-avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.1.ddl.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int32/local-avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int64/local-avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int8/local-avg_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-rg/local-rg.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double-null/rg-double-null.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double/rg-double.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/global-rg/global-avg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/local-rg/local-rg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double-null/rg-double-null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double/rg-double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double/rg_double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16/rg_int16.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32/rg_int32.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64/rg_int64.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string/rg_string.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join/psort_join.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_prime/psort_prime.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
A asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/factory/DelimitedRecordTupleParserFactory.java
M asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj
M asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/clause/OrderbyClause.java
M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/GlobalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/LocalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RangeGeneratorTypeComputer.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/ScalarVersionOfAggregateResultType.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/histogram/AsterixStreamingHistogram.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateFunction.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalOperatorTag.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/OperatorAnnotations.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/PhysicalOperatorTag.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/ForwardOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/CardinalityInferenceVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismVariableMappingVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalOperatorDeepCopyWithNewVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalPropertiesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/OperatorDeepCopyVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/PrimaryKeyVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/ProducedVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SchemaVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SubstituteVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/UsedVariableVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/MaterializingForwardPOperator.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/RangeRepartitionExchangePOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/DelayOrderedPartitionedProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/IPartitioningProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/visitors/ILogicalOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/AbstractIntroduceCombinerRule.java
A hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforcePreAdHocReplicateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/RemoveUnusedAssignAndAggregateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/SetAlgebricksPhysicalOperatorsRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/ReplaceNtsWithSubplanInputOperatorVisitor.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksTaskContext.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/ITuplePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/FieldHashPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RandomPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RepartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/FieldRangePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangeMap.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/LocalityAwareMToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningMergingConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningWithMessageConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/HistogramType.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHeapList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/FieldRangeRepartitionComputerFactory.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorNodePushable.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingForwardOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingSampleTaskState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractStreamingHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/DominantQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantileComparator.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinDifferenceQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinSumCountQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/RepartitioningState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/util/HistogramUtils.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/result/ResultFileWriterOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/range/TypeTranslateTest.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan1.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan2.tbl
M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/pom.xml
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramAlgorithmTests.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramFieldType.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HyracksStreamingHistogram.java
M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestTaskContext.java
177 files changed, 17,838 insertions(+), 692 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/81/1381/5
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 5
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 37:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/4188/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 37
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 5:

BAD Compatibility Tests Started https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/117/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 5
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizer.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizer.
......................................................................


Patch Set 7: Integration-Tests+1

Integration Tests Successful

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/1394/ : SUCCESS

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 7
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizer.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizer.
......................................................................


Patch Set 15:

WARNING: THIS CHANGE CONTAINS CROSS-PRODUCT CHANGES IN:
* asterixdb
* hyracks-fullstack

PLEASE REVIEW CAREFULLY AND LOOK FOR API CHANGES!

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 15
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 21: Integration-Tests-1

Integration Tests Failed

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/1503/ : UNSTABLE

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 21
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 32: Integration-Tests+1

Integration Tests Successful

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/1684/ : SUCCESS

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 32
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Wenhai Li (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/1381

to look at the new patch set (#8).

Change subject: Enable the parallel sort in the optimizor.
......................................................................

Enable the parallel sort in the optimizor.

Based on the MaterializingForwardOperatorDescriptor, enable the parallel sort in full round.
1. Add LogicalOperator Foward to enable MaterializingForwardOperatorDescriptor in the logical optimizor.
2. Introduce hint "psort" before sort to enable the user to use parallel sort.
3. Add the IntroduceParallelSortRule to introduce ReplicateOperator, AggregateOperator, ForwardOperator before SortOperator.
4. Apply ParallelStableSortPOperator into SortOperator if the following conditions are satisfied:
   a. Single column sort.
   b. non-topK condition inlined.
5. Add EnforcePreAdHocReplicateRule to guarantee the consistency of the replicate with forward.
6. Add and partially enable the opt/rtTest cases, including:
   a. Psort on full records.
   b. Psort on a join results.
   c. Nested psort within a subplan below a secondary sort or psort.

Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
---
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/ParallelStableSortPOperator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceParallelSortRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggFuncIntoStandaloneAggregateRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetAsterixPhysicalOperatorsRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineAllNtsInSubplanVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineLeftNtsInSubplanJoinFlatteningVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/SubplanSpecialFlatteningCheckVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/AqlPlusExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/FunctionCollection.java
M asterixdb/asterix-algebra/src/main/javacc/AQLPlus.jj
A asterixdb/asterix-app/data/skew/zipfan1.tbl
A asterixdb/asterix-app/data/skew/zipfan2.tbl
M asterixdb/asterix-app/pom.xml
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/AsterixAlgebricksHyracksIntegrationUtil.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/ParallelSortRuntimeTest.java
M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/TestPartitionComputerFactory.java
M asterixdb/asterix-app/src/test/resources/logging.properties
M asterixdb/asterix-app/src/test/resources/optimizerts/ignore.txt
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_nested.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_prime.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join_nested.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_prime.plan
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_float/avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int16/avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int32/avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int64/avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int8/avg_int8.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-rg/global-rg.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_double/local-avg_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_float/local-avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.1.ddl.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int32/local-avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int64/local-avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int8/local-avg_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-rg/local-rg.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double-null/rg-double-null.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double/rg-double.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/global-rg/global-avg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/local-rg/local-rg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double-null/rg-double-null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double/rg-double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double/rg_double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16/rg_int16.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32/rg_int32.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64/rg_int64.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string/rg_string.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join/psort_join.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_nested/psort_join_nested.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_prime/psort_prime.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
A asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/factory/DelimitedRecordTupleParserFactory.java
M asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj
M asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/clause/OrderbyClause.java
M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/GlobalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/LocalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RangeGeneratorTypeComputer.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/ScalarVersionOfAggregateResultType.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/histogram/AsterixStreamingHistogram.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateFunction.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalOperatorTag.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/OperatorAnnotations.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/PhysicalOperatorTag.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/ForwardOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/CardinalityInferenceVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismVariableMappingVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalOperatorDeepCopyWithNewVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalPropertiesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/OperatorDeepCopyVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/PrimaryKeyVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/ProducedVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SchemaVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SubstituteVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/UsedVariableVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/MaterializingForwardPOperator.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/RangeRepartitionExchangePOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/DelayOrderedPartitionedProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/IPartitioningProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/visitors/ILogicalOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/AbstractIntroduceCombinerRule.java
A hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforcePreAdHocReplicateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/RemoveUnusedAssignAndAggregateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/SetAlgebricksPhysicalOperatorsRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/ReplaceNtsWithSubplanInputOperatorVisitor.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksTaskContext.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/ITuplePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/FieldHashPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RandomPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RepartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/FieldRangePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangeMap.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/LocalityAwareMToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningMergingConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningWithMessageConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/HistogramType.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHeapList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/FieldRangeRepartitionComputerFactory.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorNodePushable.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingForwardOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingSampleTaskState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractStreamingHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/DominantQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantileComparator.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinDifferenceQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinSumCountQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/RepartitioningState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/util/HistogramUtils.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/result/ResultFileWriterOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/range/TypeTranslateTest.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan1.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan2.tbl
M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/pom.xml
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramAlgorithmTests.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramFieldType.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HyracksStreamingHistogram.java
M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestTaskContext.java
183 files changed, 18,153 insertions(+), 692 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/81/1381/8
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 8
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 55: Integration-Tests+1

Integration Tests Successful

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/4551/ : SUCCESS

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 55
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 3: Integration-Tests-1

Integration Tests Timed Out

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/1285/ : ABORTED

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 3
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 36: Integration-Tests-1

Integration Tests Timed Out

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/1807/ : ABORTED

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 36
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 26:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/3999/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 26
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 42:

WARNING: THIS CHANGE CONTAINS CROSS-PRODUCT CHANGES IN:
* asterixdb
* hyracks-fullstack

PLEASE REVIEW CAREFULLY AND LOOK FOR API CHANGES!

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 42
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 48:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/5049/ (5/6)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 48
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 53:

Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/3271/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 53
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 51:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-verify-storage/656/ (7/10)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 51
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 49:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-verify-asterix-app/186/ (2/6)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 49
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 41:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/4240/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 41
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 55:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app-sql-execution/1522/ (1/11)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 55
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 50:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/5074/ (4/6)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 50
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 5: BAD+1

BAD Compatibility Tests Successful

https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/117/ : SUCCESS

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 5
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 35:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/4185/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 35
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 32:

WARNING: THIS CHANGE CONTAINS CROSS-PRODUCT CHANGES IN:
* asterixdb
* hyracks-fullstack

PLEASE REVIEW CAREFULLY AND LOOK FOR API CHANGES!

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 32
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 18:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/3798/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 18
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 47: BAD+1

BAD Compatibility Tests Successful

https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/899/ : SUCCESS

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 47
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 5:

WARNING: THIS CHANGE CONTAINS CROSS-PRODUCT CHANGES IN:
* asterixdb
* hyracks-fullstack

PLEASE REVIEW CAREFULLY AND LOOK FOR API CHANGES!

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 5
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 54: Integration-Tests-1

Integration Tests Failed

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/4503/ : UNSTABLE

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 54
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 54:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app-sql-execution/1463/ (3/11)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 54
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 56:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-ensure-ancestor/1468/ (6/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 56
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Wenhai Li (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/1381

to look at the new patch set (#54).

Change subject: Enable the parallel sort in the optimizor.
......................................................................

Enable the parallel sort in the optimizor.

Based on the MaterializingForwardOperatorDescriptor, enable the parallel sort in full round.
1. Add LogicalOperator Foward to enable MaterializingForwardOperatorDescriptor in the logical optimizor.
2. Introduce hint "psort" before sort to enable the user to use parallel sort.
3. Add the IntroduceParallelSortRule to introduce ReplicateOperator, AggregateOperator, ForwardOperator before SortOperator.
4. Apply ParallelStableSortPOperator into SortOperator if the following conditions are satisfied:
   a. Single column sort.
   b. non-topK condition inlined.
5. Add EnforcePreAdHocReplicateRule to guarantee the consistency of the replicate with forward.
6. Add and partially enable the opt/rtTest cases, including:
   a. Psort on full records.
   b. Psort on a join results.
   c. Nested psort within a subplan below a secondary sort or psort.
7. Use binarySearch in two RangePartitioners.
8. Use cache in Replicate (disabled).
9. Use cacheFiles in ExternalSort in Parallel sort (disabled).
10. Provide configurable cache memory budget in conf.

Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
---
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/ParallelStableSortPOperator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceParallelSortRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggFuncIntoStandaloneAggregateRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetAsterixPhysicalOperatorsRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineAllNtsInSubplanVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineLeftNtsInSubplanJoinFlatteningVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/SubplanSpecialFlatteningCheckVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
A asterixdb/asterix-app/data/psort/cust4k-1.tbl
A asterixdb/asterix-app/data/psort/cust4k-2.tbl
A asterixdb/asterix-app/data/psort/cust4k-3.tbl
A asterixdb/asterix-app/data/psort/cust4k-4.tbl
A asterixdb/asterix-app/data/skew/zipfian.tbl
A asterixdb/asterix-app/data/skew/zipfian1.tbl
A asterixdb/asterix-app/data/skew/zipfian2.tbl
A asterixdb/asterix-app/data/skew/zipfianmissing_1.tbl
A asterixdb/asterix-app/data/skew/zipfianmissing_2.tbl
A asterixdb/asterix-app/data/skew/zipfiannull_1.tbl
A asterixdb/asterix-app/data/skew/zipfiannull_2.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part1.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part2.tbl
M asterixdb/asterix-app/src/main/java/org/apache/asterix/api/common/APIFramework.java
M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/resource/RequiredCapacityVisitor.java
M asterixdb/asterix-app/src/main/resources/asterix-build-configuration.xml
M asterixdb/asterix-app/src/main/resources/asterix-build-configuration2.xml
M asterixdb/asterix-app/src/main/resources/asterix-build-configuration3.xml
M asterixdb/asterix-app/src/main/resources/asterix-build-configuration4.xml
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/AsterixAlgebricksHyracksIntegrationUtil.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/CachedParallelSortRuntimeTest.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/ParallelSortRuntimeTest.java
M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/TestPartitionComputerFactory.java
M asterixdb/asterix-app/src/test/resources/logging.properties
M asterixdb/asterix-app/src/test/resources/optimizerts/ignore.txt
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_nested.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_prime.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join_nested.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_prime.plan
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_float/avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int16/avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int32/avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int64/avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int8/avg_int8.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-rg/global-rg.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_double/local-avg_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_float/local-avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.1.ddl.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int32/local-avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int64/local-avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int8/local-avg_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-rg/local-rg.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double-null/rg-double-null.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double/rg-double.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.4.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/load/rg_load/rg_load.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/load/rg_load/rg_load.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/load/rg_load/rg_load.3.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.2.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.3.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.4.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/global-rg/global-avg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/local-rg/local-rg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double-null/rg-double-null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double/rg-double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double/rg_double.3.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double_missing/rg_double_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16/rg_int16.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_missing/rg_int16_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_null/rg_int16_null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_seminull/rg_int16_seminull.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32/rg_int32.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32_missing/rg_int32_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64/rg_int64.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64_missing/rg_int64_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_shipdate/rg_shipdate.3.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_shipdate/rg_shipdate.4.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string/rg_string.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string_missing/rg_string_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join/psort_join.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_nested/psort_join_nested.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_result/psort_join_result.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_prime/psort_prime.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/range-hints/order-by-exception_03/order-by-exception_03.4.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
M asterixdb/asterix-common/src/main/java/org/apache/asterix/common/config/CompilerProperties.java
M asterixdb/asterix-docker/docker/asterix-configuration.xml
M asterixdb/asterix-experiments/src/main/resources/ingestion-experiment-binary-and-configs/configs/asterix-configuration.xml
A asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/factory/DelimitedRecordTupleParserFactory.java
M asterixdb/asterix-installer/src/main/resources/conf/asterix-configuration.xml
M asterixdb/asterix-installer/src/test/resources/integrationts/asterix-configuration.xml
M asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj
M asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/clause/OrderbyClause.java
M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/GlobalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/LocalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RangeGeneratorTypeComputer.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/ScalarVersionOfAggregateResultType.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/histogram/AsterixStreamingHistogram.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateFunction.java
M asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/functions/FunctionCollection.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/sample/SamplingForwardOperatorDescriptor.java
M asterixdb/asterix-yarn/src/main/resources/base-asterix-configuration.xml
M asterixdb/asterix-yarn/src/main/resources/configs/base-asterix-configuration.xml
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalOperatorTag.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/OperatorAnnotations.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/PhysicalOperatorTag.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/ForwardOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/CardinalityInferenceVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismVariableMappingVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalOperatorDeepCopyWithNewVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalPropertiesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/OperatorDeepCopyVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/PrimaryKeyVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/ProducedVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SchemaVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SubstituteVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/UsedVariableVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/MaterializingForwardPOperator.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/RangeRepartitionExchangePOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/ReplicatePOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitorJson.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/DelayOrderedPartitionedProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/IPartitioningProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/visitors/ILogicalOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/rewriter/base/PhysicalOptimizationConfig.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/utils/LogicalOperatorDotVisitor.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/AbstractIntroduceCombinerRule.java
A hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforcePreAdHocReplicateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/ExtractCommonOperatorsRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/RemoveUnusedAssignAndAggregateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/SetAlgebricksPhysicalOperatorsRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/ReplaceNtsWithSubplanInputOperatorVisitor.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksTaskContext.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/ITuplePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/FieldHashPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RandomPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RepartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/FieldRangePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangeMap.java
A hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/io/CachedRunFileReader.java
A hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/io/CachedRunFileWriter.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/io/GeneratedRunFileReader.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/io/RunFileReader.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/io/RunFileWriter.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/LocalityAwareMToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningMergingConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningWithMessageConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/misc/CacheMaterializerTaskState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/misc/CacheReplicateOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/misc/MaterializerTaskState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/misc/VirtualReplicateOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/HistogramType.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHeapList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/FieldRangeRepartitionComputerFactory.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorNodePushable.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingSampleTaskState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractStreamingHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/DominantQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantileComparator.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinDifferenceQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinSumCountQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/RepartitioningState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/util/HistogramUtils.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/result/ResultFileWriterOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/sort/AbstractExternalSortRunGenerator.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/sort/AbstractExternalSortRunMerger.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/sort/AbstractSorterOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/sort/ExternalSortOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/sort/ExternalSortRunGenerator.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/sort/ExternalSortRunMerger.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/range/TypeTranslateTest.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/prefix.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfian1.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfian2.tbl
M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/pom.xml
M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/unit/ExternalSortRunGeneratorTest.java
M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/unit/RunMergingFrameReaderTest.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramAlgorithmTests.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramFieldType.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HyracksStreamingHistogram.java
M hyracks-fullstack/hyracks/hyracks-examples/tpch-example/tpchclient/src/main/java/org/apache/hyracks/examples/tpch/client/Sort.java
M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestTaskContext.java
282 files changed, 33,351 insertions(+), 532 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/81/1381/54
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 54
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 45:

WARNING: THIS CHANGE CONTAINS CROSS-PRODUCT CHANGES IN:
* asterixdb
* hyracks-fullstack

PLEASE REVIEW CAREFULLY AND LOOK FOR API CHANGES!

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 45
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 54:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-rebalance-cancellation/644/ (4/11)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 54
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizer.

Posted by "Wenhai Li (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/1381

to look at the new patch set (#15).

Change subject: Enable the parallel sort in the optimizer.
......................................................................

Enable the parallel sort in the optimizer.

Based on the MaterializingForwardOperatorDescriptor, enable the parallel sort in full round.
1. Add LogicalOperator Forward to enable MaterializingForwardOperatorDescriptor in the logical optimizor.
2. Introduce hint "psort" on sort to enable the user to use parallel sort.
3. Add the IntroduceParallelSortRule to introduce ReplicateOperator, AggregateOperator, ForwardOperator before SortOperator.
4. Apply ParallelStableSortPOperator into SortOperator if the following conditions are satisfied:
   a. Single column sort.
   b. non-topK condition inlined.
5. Add EnforcePreAdHocReplicateRule to guarantee the consistency of the replicate with forward.
6. Add and partially enable the opt/rt Test cases, including:
   a. Psort on full records.
   b. Psort on a join results.
   c. Nested psort within a subplan that is below a secondary sort or psort.

Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
---
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/ParallelStableSortPOperator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceParallelSortRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggFuncIntoStandaloneAggregateRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetAsterixPhysicalOperatorsRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineAllNtsInSubplanVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineLeftNtsInSubplanJoinFlatteningVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/SubplanSpecialFlatteningCheckVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/AqlPlusExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/FunctionCollection.java
M asterixdb/asterix-algebra/src/main/javacc/AQLPlus.jj
A asterixdb/asterix-app/data/skew/zipfan1.tbl
A asterixdb/asterix-app/data/skew/zipfan2.tbl
M asterixdb/asterix-app/pom.xml
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/AsterixAlgebricksHyracksIntegrationUtil.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/ParallelSortRuntimeTest.java
M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/TestPartitionComputerFactory.java
M asterixdb/asterix-app/src/test/resources/logging.properties
M asterixdb/asterix-app/src/test/resources/optimizerts/ignore.txt
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_nested.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_prime.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join_nested.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_prime.plan
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_float/avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int16/avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int32/avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int64/avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int8/avg_int8.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-rg/global-rg.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_double/local-avg_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_float/local-avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.1.ddl.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int32/local-avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int64/local-avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int8/local-avg_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-rg/local-rg.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double-null/rg-double-null.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double/rg-double.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/global-rg/global-avg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/local-rg/local-rg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double-null/rg-double-null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double/rg-double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double/rg_double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16/rg_int16.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32/rg_int32.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64/rg_int64.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string/rg_string.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join/psort_join.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_nested/psort_join_nested.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_prime/psort_prime.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
A asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/factory/DelimitedRecordTupleParserFactory.java
M asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj
M asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/clause/OrderbyClause.java
M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/GlobalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/LocalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RangeGeneratorTypeComputer.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/ScalarVersionOfAggregateResultType.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/histogram/AsterixStreamingHistogram.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateFunction.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalOperatorTag.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/OperatorAnnotations.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/PhysicalOperatorTag.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/ForwardOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/CardinalityInferenceVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismVariableMappingVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalOperatorDeepCopyWithNewVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalPropertiesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/OperatorDeepCopyVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/PrimaryKeyVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/ProducedVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SchemaVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SubstituteVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/UsedVariableVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/MaterializingForwardPOperator.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/RangeRepartitionExchangePOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/DelayOrderedPartitionedProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/IPartitioningProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/visitors/ILogicalOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/AbstractIntroduceCombinerRule.java
A hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforcePreAdHocReplicateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/RemoveUnusedAssignAndAggregateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/SetAlgebricksPhysicalOperatorsRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/ReplaceNtsWithSubplanInputOperatorVisitor.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksTaskContext.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/ITuplePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/FieldHashPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RandomPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RepartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/FieldRangePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangeMap.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/LocalityAwareMToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningMergingConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningWithMessageConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/HistogramType.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHeapList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/FieldRangeRepartitionComputerFactory.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorNodePushable.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingForwardOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingSampleTaskState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractStreamingHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/DominantQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantileComparator.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinDifferenceQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinSumCountQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/RepartitioningState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/util/HistogramUtils.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/result/ResultFileWriterOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/range/TypeTranslateTest.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan1.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan2.tbl
M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/pom.xml
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramAlgorithmTests.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramFieldType.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HyracksStreamingHistogram.java
M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestTaskContext.java
183 files changed, 18,182 insertions(+), 692 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/81/1381/15
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 15
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 53:

WARNING: THIS CHANGE CONTAINS CROSS-PRODUCT CHANGES IN:
* asterixdb
* hyracks-fullstack

PLEASE REVIEW CAREFULLY AND LOOK FOR API CHANGES!

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 53
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 43:

BAD Compatibility Tests Started https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/563/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 43
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 36:

Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/1807/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 36
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 52:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-cancellation-test/121/ (6/10)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 52
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 45:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/4654/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 45
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 4:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/3659/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 4
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 22:

WARNING: THIS CHANGE CONTAINS CROSS-PRODUCT CHANGES IN:
* asterixdb
* hyracks-fullstack

PLEASE REVIEW CAREFULLY AND LOOK FOR API CHANGES!

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 22
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizer.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizer.
......................................................................


Patch Set 14: Integration-Tests-1

Integration Tests Failed

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/1420/ : UNSTABLE

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 14
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 53:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app-sql-execution/191/ (10/10)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 53
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 53:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-verify-storage/801/ (2/10)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 53
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 41: Integration-Tests-1

Integration Tests Failed

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/1848/ : UNSTABLE

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 41
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Wenhai Li (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/1381

to look at the new patch set (#44).

Change subject: Enable the parallel sort in the optimizor.
......................................................................

Enable the parallel sort in the optimizor.

Based on the MaterializingForwardOperatorDescriptor, enable the parallel sort in full round.
1. Add LogicalOperator Foward to enable MaterializingForwardOperatorDescriptor in the logical optimizor.
2. Introduce hint "psort" before sort to enable the user to use parallel sort.
3. Add the IntroduceParallelSortRule to introduce ReplicateOperator, AggregateOperator, ForwardOperator before SortOperator.
4. Apply ParallelStableSortPOperator into SortOperator if the following conditions are satisfied:
   a. Single column sort.
   b. non-topK condition inlined.
5. Add EnforcePreAdHocReplicateRule to guarantee the consistency of the replicate with forward.
6. Add and partially enable the opt/rtTest cases, including:
   a. Psort on full records.
   b. Psort on a join results.
   c. Nested psort within a subplan below a secondary sort or psort.
7. Use binarySearch in two RangePartitioners.

Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
---
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/ParallelStableSortPOperator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceParallelSortRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggFuncIntoStandaloneAggregateRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetAsterixPhysicalOperatorsRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineAllNtsInSubplanVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineLeftNtsInSubplanJoinFlatteningVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/SubplanSpecialFlatteningCheckVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/FunctionCollection.java
A asterixdb/asterix-app/data/skew/zipfian.tbl
A asterixdb/asterix-app/data/skew/zipfian1.tbl
A asterixdb/asterix-app/data/skew/zipfian2.tbl
A asterixdb/asterix-app/data/skew/zipfianmissing_1.tbl
A asterixdb/asterix-app/data/skew/zipfianmissing_2.tbl
A asterixdb/asterix-app/data/skew/zipfiannull_1.tbl
A asterixdb/asterix-app/data/skew/zipfiannull_2.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part1.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part2.tbl
M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/resource/RequiredCapacityVisitor.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/AsterixAlgebricksHyracksIntegrationUtil.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/ParallelSortRuntimeTest.java
M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/TestPartitionComputerFactory.java
M asterixdb/asterix-app/src/test/resources/logging.properties
M asterixdb/asterix-app/src/test/resources/optimizerts/ignore.txt
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_nested.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_prime.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join_nested.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_prime.plan
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_float/avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int16/avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int32/avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int64/avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int8/avg_int8.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-rg/global-rg.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_double/local-avg_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_float/local-avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.1.ddl.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int32/local-avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int64/local-avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int8/local-avg_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-rg/local-rg.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double-null/rg-double-null.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double/rg-double.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.2.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.3.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.4.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/global-rg/global-avg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/local-rg/local-rg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double-null/rg-double-null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double/rg-double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double/rg_double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double_missing/rg_double_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16/rg_int16.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_missing/rg_int16_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_null/rg_int16_null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_seminull/rg_int16_seminull.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32/rg_int32.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32_missing/rg_int32_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64/rg_int64.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64_missing/rg_int64_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_shipdate/rg_shipdate.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string/rg_string.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string_missing/rg_string_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join/psort_join.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_nested/psort_join_nested.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_result/psort_join_result.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_prime/psort_prime.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/range-hints/order-by-exception_03/order-by-exception_03.4.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
A asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/factory/DelimitedRecordTupleParserFactory.java
M asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj
M asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/clause/OrderbyClause.java
M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/GlobalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/LocalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RangeGeneratorTypeComputer.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/ScalarVersionOfAggregateResultType.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/histogram/AsterixStreamingHistogram.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/sample/SamplingForwardOperatorDescriptor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalOperatorTag.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/OperatorAnnotations.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/PhysicalOperatorTag.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/ForwardOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/CardinalityInferenceVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismVariableMappingVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalOperatorDeepCopyWithNewVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalPropertiesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/OperatorDeepCopyVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/PrimaryKeyVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/ProducedVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SchemaVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SubstituteVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/UsedVariableVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/MaterializingForwardPOperator.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/RangeRepartitionExchangePOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/DelayOrderedPartitionedProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/IPartitioningProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/visitors/ILogicalOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/AbstractIntroduceCombinerRule.java
A hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforcePreAdHocReplicateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/RemoveUnusedAssignAndAggregateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/SetAlgebricksPhysicalOperatorsRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/ReplaceNtsWithSubplanInputOperatorVisitor.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksTaskContext.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/ITuplePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/FieldHashPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RandomPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RepartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/FieldRangePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangeMap.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/LocalityAwareMToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningMergingConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningWithMessageConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/HistogramType.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHeapList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/FieldRangeRepartitionComputerFactory.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorNodePushable.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingSampleTaskState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractStreamingHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/DominantQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantileComparator.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinDifferenceQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinSumCountQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/RepartitioningState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/util/HistogramUtils.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/result/ResultFileWriterOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/range/TypeTranslateTest.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/prefix.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan1.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan2.tbl
M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/pom.xml
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramAlgorithmTests.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramFieldType.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HyracksStreamingHistogram.java
M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestTaskContext.java
237 files changed, 27,618 insertions(+), 695 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/81/1381/44
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 44
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 2:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/3506/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 30: Integration-Tests-1

Integration Tests Failed

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/1683/ : UNSTABLE

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 30
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 51:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-sonar/4124/ (2/10)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 51
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 23:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/3833/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 23
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 43: BAD-1

BAD Compatibility Tests Failed

https://asterix-jenkins.ics.uci.edu/job/asterixbad-compat/563/ : FAILURE

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 43
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 19: Integration-Tests-1

Integration Tests Failed

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/1499/ : UNSTABLE

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 19
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Wenhai Li (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/1381

to look at the new patch set (#9).

Change subject: Enable the parallel sort in the optimizor.
......................................................................

Enable the parallel sort in the optimizor.

Based on the MaterializingForwardOperatorDescriptor, enable the parallel sort in full round.
1. Add LogicalOperator Foward to enable MaterializingForwardOperatorDescriptor in the logical optimizor.
2. Introduce hint "psort" before sort to enable the user to use parallel sort.
3. Add the IntroduceParallelSortRule to introduce ReplicateOperator, AggregateOperator, ForwardOperator before SortOperator.
4. Apply ParallelStableSortPOperator into SortOperator if the following conditions are satisfied:
   a. Single column sort.
   b. non-topK condition inlined.
5. Add EnforcePreAdHocReplicateRule to guarantee the consistency of the replicate with forward.
6. Add and partially enable the opt/rtTest cases, including:
   a. Psort on full records.
   b. Psort on a join results.
   c. Nested psort within a subplan below secondary sort or psort.

Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
---
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/ParallelStableSortPOperator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceParallelSortRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggFuncIntoStandaloneAggregateRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetAsterixPhysicalOperatorsRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineAllNtsInSubplanVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineLeftNtsInSubplanJoinFlatteningVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/SubplanSpecialFlatteningCheckVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/AqlPlusExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/FunctionCollection.java
M asterixdb/asterix-algebra/src/main/javacc/AQLPlus.jj
A asterixdb/asterix-app/data/skew/zipfan1.tbl
A asterixdb/asterix-app/data/skew/zipfan2.tbl
M asterixdb/asterix-app/pom.xml
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/AsterixAlgebricksHyracksIntegrationUtil.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/ParallelSortRuntimeTest.java
M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/TestPartitionComputerFactory.java
M asterixdb/asterix-app/src/test/resources/logging.properties
M asterixdb/asterix-app/src/test/resources/optimizerts/ignore.txt
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_nested.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_prime.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join_nested.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_prime.plan
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_float/avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int16/avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int32/avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int64/avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int8/avg_int8.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-rg/global-rg.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_double/local-avg_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_float/local-avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.1.ddl.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int32/local-avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int64/local-avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int8/local-avg_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-rg/local-rg.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double-null/rg-double-null.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double/rg-double.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/global-rg/global-avg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/local-rg/local-rg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double-null/rg-double-null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double/rg-double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double/rg_double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16/rg_int16.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32/rg_int32.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64/rg_int64.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string/rg_string.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join/psort_join.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_nested/psort_join_nested.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_prime/psort_prime.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
A asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/factory/DelimitedRecordTupleParserFactory.java
M asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj
M asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/clause/OrderbyClause.java
M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/GlobalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/LocalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RangeGeneratorTypeComputer.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/ScalarVersionOfAggregateResultType.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/histogram/AsterixStreamingHistogram.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateFunction.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalOperatorTag.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/OperatorAnnotations.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/PhysicalOperatorTag.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/ForwardOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/CardinalityInferenceVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismVariableMappingVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalOperatorDeepCopyWithNewVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalPropertiesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/OperatorDeepCopyVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/PrimaryKeyVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/ProducedVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SchemaVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SubstituteVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/UsedVariableVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/MaterializingForwardPOperator.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/RangeRepartitionExchangePOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/DelayOrderedPartitionedProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/IPartitioningProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/visitors/ILogicalOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/AbstractIntroduceCombinerRule.java
A hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforcePreAdHocReplicateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/RemoveUnusedAssignAndAggregateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/SetAlgebricksPhysicalOperatorsRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/ReplaceNtsWithSubplanInputOperatorVisitor.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksTaskContext.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/ITuplePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/FieldHashPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RandomPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RepartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/FieldRangePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangeMap.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/LocalityAwareMToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningMergingConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningWithMessageConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/HistogramType.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHeapList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/FieldRangeRepartitionComputerFactory.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorNodePushable.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingForwardOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingSampleTaskState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractStreamingHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/DominantQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantileComparator.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinDifferenceQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinSumCountQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/RepartitioningState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/util/HistogramUtils.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/result/ResultFileWriterOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/range/TypeTranslateTest.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan1.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan2.tbl
M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/pom.xml
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramAlgorithmTests.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramFieldType.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HyracksStreamingHistogram.java
M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestTaskContext.java
183 files changed, 18,153 insertions(+), 692 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/81/1381/9
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 9
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 41:

WARNING: THIS CHANGE CONTAINS CROSS-PRODUCT CHANGES IN:
* asterixdb
* hyracks-fullstack

PLEASE REVIEW CAREFULLY AND LOOK FOR API CHANGES!

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 41
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 53:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-source-assemblies/457/ (1/10)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 53
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 37: Integration-Tests-1

Integration Tests Failed

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/1809/ : UNSTABLE

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 37
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 49:

Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/2546/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 49
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 56:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-asterix-app/4177/ (9/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 56
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 54:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-cancellation-test/1458/ (6/11)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 54
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 40:

WARNING: THIS CHANGE CONTAINS CROSS-PRODUCT CHANGES IN:
* asterixdb
* hyracks-fullstack

PLEASE REVIEW CAREFULLY AND LOOK FOR API CHANGES!

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 40
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Wenhai Li (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/1381

to look at the new patch set (#34).

Change subject: Enable the parallel sort in the optimizor.
......................................................................

Enable the parallel sort in the optimizor.

Based on the MaterializingForwardOperatorDescriptor, enable the parallel sort in full round.
1. Add LogicalOperator Foward to enable MaterializingForwardOperatorDescriptor in the logical optimizor.
2. Introduce hint "psort" before sort to enable the user to use parallel sort.
3. Add the IntroduceParallelSortRule to introduce ReplicateOperator, AggregateOperator, ForwardOperator before SortOperator.
4. Apply ParallelStableSortPOperator into SortOperator if the following conditions are satisfied:
   a. Single column sort.
   b. non-topK condition inlined.
5. Add EnforcePreAdHocReplicateRule to guarantee the consistency of the replicate with forward.
6. Add and partially enable the opt/rtTest cases, including:
   a. Psort on full records.
   b. Psort on a join results.
   c. Nested psort within a subplan below a secondary sort or psort.
7. Use binarySearch in two RangePartitioners.

Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
---
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/ParallelStableSortPOperator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceParallelSortRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggFuncIntoStandaloneAggregateRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetAsterixPhysicalOperatorsRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineAllNtsInSubplanVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineLeftNtsInSubplanJoinFlatteningVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/SubplanSpecialFlatteningCheckVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/AqlPlusExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/FunctionCollection.java
M asterixdb/asterix-algebra/src/main/javacc/AQLPlus.jj
A asterixdb/asterix-app/data/skew/zipfan1.tbl
A asterixdb/asterix-app/data/skew/zipfan2.tbl
A asterixdb/asterix-app/data/skew/zipfanmissing_1.tbl
A asterixdb/asterix-app/data/skew/zipfanmissing_2.tbl
A asterixdb/asterix-app/data/skew/zipfannull_1.tbl
A asterixdb/asterix-app/data/skew/zipfannull_2.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part1.tbl
A asterixdb/asterix-app/data/tpch0.001/lineitem-part2.tbl
M asterixdb/asterix-app/src/main/java/org/apache/asterix/app/resource/RequiredCapacityVisitor.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/AsterixAlgebricksHyracksIntegrationUtil.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/ParallelSortRuntimeTest.java
M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/TestPartitionComputerFactory.java
M asterixdb/asterix-app/src/test/resources/logging.properties
M asterixdb/asterix-app/src/test/resources/optimizerts/ignore.txt
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_nested.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_prime.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join_nested.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_prime.plan
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_float/avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int16/avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int32/avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int64/avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int8/avg_int8.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-rg/global-rg.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_double/local-avg_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_float/local-avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.1.ddl.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int32/local-avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int64/local-avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int8/local-avg_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-rg/local-rg.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double-null/rg-double-null.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double/rg-double.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double_missing/rg_double_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_missing/rg_int16_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_null/rg_int16_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16_seminull/rg_int16_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32_missing/rg_int32_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64_missing/rg_int64_missing.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_shipdate/rg_shipdate.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string_missing/rg_string_missing.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_result/psort_join_result.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_null/psort_prime_null.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime_seminull/psort_prime_seminull.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.2.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.3.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/range-hints/order-by-exception_03/order-by-exception_03.4.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/global-rg/global-avg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/local-rg/local-rg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double-null/rg-double-null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double/rg-double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double/rg_double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double_missing/rg_double_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16/rg_int16.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_missing/rg_int16_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_null/rg_int16_null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16_seminull/rg_int16_seminull.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32/rg_int32.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32_missing/rg_int32_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64/rg_int64.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64_missing/rg_int64_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_shipdate/rg_shipdate.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string/rg_string.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string_missing/rg_string_missing.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join/psort_join.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_nested/psort_join_nested.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_result/psort_join_result.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_prime/psort_prime.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/range-hints/order-by-exception_03/order-by-exception_03.4.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
A asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/factory/DelimitedRecordTupleParserFactory.java
M asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj
M asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/clause/OrderbyClause.java
M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/GlobalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/LocalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RangeGeneratorTypeComputer.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/ScalarVersionOfAggregateResultType.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/histogram/AsterixStreamingHistogram.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/operators/sample/SamplingForwardOperatorDescriptor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalOperatorTag.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/OperatorAnnotations.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/PhysicalOperatorTag.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/ForwardOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/CardinalityInferenceVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismVariableMappingVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalOperatorDeepCopyWithNewVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalPropertiesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/OperatorDeepCopyVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/PrimaryKeyVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/ProducedVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SchemaVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SubstituteVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/UsedVariableVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/MaterializingForwardPOperator.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/RangeRepartitionExchangePOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/DelayOrderedPartitionedProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/IPartitioningProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/visitors/ILogicalOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/AbstractIntroduceCombinerRule.java
A hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforcePreAdHocReplicateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/RemoveUnusedAssignAndAggregateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/SetAlgebricksPhysicalOperatorsRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/ReplaceNtsWithSubplanInputOperatorVisitor.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksTaskContext.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/ITuplePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/FieldHashPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RandomPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RepartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/FieldRangePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangeMap.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/LocalityAwareMToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningMergingConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningWithMessageConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/HistogramType.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHeapList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/FieldRangeRepartitionComputerFactory.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorNodePushable.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingSampleTaskState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractStreamingHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/DominantQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantileComparator.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinDifferenceQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinSumCountQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/RepartitioningState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/util/HistogramUtils.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/result/ResultFileWriterOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/range/TypeTranslateTest.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/prefix.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan1.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan2.tbl
M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/pom.xml
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramAlgorithmTests.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramFieldType.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HyracksStreamingHistogram.java
M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestTaskContext.java
238 files changed, 27,425 insertions(+), 698 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/81/1381/34
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 34
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 55:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-rebalance-cancellation/702/ (2/11)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 55
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 56:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-source-format/3420/ (12/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 56
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Anon. E. Moose (Code Review)" <do...@asterixdb.incubator.apache.org>.
Anon. E. Moose #1000171 has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 55: Contrib-1

Analytics Compatibility Tests Failed Build 2935
: UNSTABLE

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 55
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 43:

Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/1919/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 43
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Wenhai Li (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/1381

to look at the new patch set (#4).

Change subject: Enable the parallel sort in the optimizor.
......................................................................

Enable the parallel sort in the optimizor.

Based on the MaterializingForwardOperatorDescriptor, enable the parallel sort in full round.
1. Add LogicalOperator Foward to enable MaterializingForwardOperatorDescriptor in the logical optimizor.
2. Introduce hint "psort" before sort to enable the user to use parallel sort.
3. Add the IntroduceParallelSortRule to introduce ReplicateOperator, AggregateOperator, ForwardOperator before SortOperator.
4. Apply ParallelStableSortPOperator into SortOperator if the following conditions are satisfied:
   a. Single column sort.
   b. non-topK condition inlined.
5. Add the EnforcePreAdHocReplicateRule to guarantee the consistency of the replicate with forward.
6. Add and partially enable the opt/rtTest cases.

Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
---
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/ParallelStableSortPOperator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceParallelSortRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggFuncIntoStandaloneAggregateRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetAsterixPhysicalOperatorsRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineAllNtsInSubplanVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineLeftNtsInSubplanJoinFlatteningVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/SubplanSpecialFlatteningCheckVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/AqlPlusExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/FunctionCollection.java
M asterixdb/asterix-algebra/src/main/javacc/AQLPlus.jj
A asterixdb/asterix-app/data/skew/zipfan1.tbl
A asterixdb/asterix-app/data/skew/zipfan2.tbl
M asterixdb/asterix-app/pom.xml
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/AsterixAlgebricksHyracksIntegrationUtil.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/ParallelSortRuntimeTest.java
M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/TestPartitionComputerFactory.java
M asterixdb/asterix-app/src/test/resources/logging.properties
M asterixdb/asterix-app/src/test/resources/optimizerts/ignore.txt
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_prime.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_prime.plan
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_float/avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int16/avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int32/avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int64/avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int8/avg_int8.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-rg/global-rg.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_double/local-avg_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_float/local-avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.1.ddl.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int32/local-avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int64/local-avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int8/local-avg_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-rg/local-rg.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double-null/rg-double-null.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double/rg-double.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/global-rg/global-avg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/local-rg/local-rg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double-null/rg-double-null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double/rg-double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double/rg_double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16/rg_int16.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32/rg_int32.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64/rg_int64.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string/rg_string.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_prime/psort_prime.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
A asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/factory/DelimitedRecordTupleParserFactory.java
M asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj
M asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/clause/OrderbyClause.java
M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/GlobalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/LocalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RangeGeneratorTypeComputer.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/ScalarVersionOfAggregateResultType.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/histogram/AsterixStreamingHistogram.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateFunction.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalOperatorTag.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/OperatorAnnotations.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/PhysicalOperatorTag.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/ForwardOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/CardinalityInferenceVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismVariableMappingVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalOperatorDeepCopyWithNewVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalPropertiesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/OperatorDeepCopyVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/PrimaryKeyVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/ProducedVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SchemaVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SubstituteVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/UsedVariableVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/MaterializingForwardPOperator.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/RangeRepartitionExchangePOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/DelayOrderedPartitionedProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/IPartitioningProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/visitors/ILogicalOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/AbstractIntroduceCombinerRule.java
A hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforcePreAdHocReplicateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/RemoveUnusedAssignAndAggregateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/SetAlgebricksPhysicalOperatorsRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/ReplaceNtsWithSubplanInputOperatorVisitor.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksTaskContext.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/ITuplePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/FieldHashPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RandomPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RepartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/FieldRangePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangeMap.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/LocalityAwareMToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningMergingConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningWithMessageConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/HistogramType.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHeapList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/FieldRangeRepartitionComputerFactory.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorNodePushable.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingForwardOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingSampleTaskState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractStreamingHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/DominantQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantileComparator.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinDifferenceQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinSumCountQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/RepartitioningState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/util/HistogramUtils.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/result/ResultFileWriterOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/range/TypeTranslateTest.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan1.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan2.tbl
M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/pom.xml
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramAlgorithmTests.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramFieldType.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HyracksStreamingHistogram.java
M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestTaskContext.java
176 files changed, 17,838 insertions(+), 692 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/81/1381/4
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 4
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 47: Integration-Tests+1

Integration Tests Successful

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/2317/ : SUCCESS

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 47
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 55:

Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/4551/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 55
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 30:

WARNING: THIS CHANGE CONTAINS CROSS-PRODUCT CHANGES IN:
* asterixdb
* hyracks-fullstack

PLEASE REVIEW CAREFULLY AND LOOK FOR API CHANGES!

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 30
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 10:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/3668/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 10
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 11:

Integration Tests Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/1419/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 11
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 10: Integration-Tests+1

Integration Tests Successful

https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-integration-tests/1398/ : SUCCESS

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 10
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Wenhai Li (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/1381

to look at the new patch set (#2).

Change subject: Enable the parallel sort in the optimizor.
......................................................................

Enable the parallel sort in the optimizor.

Based on the MaterializingForwardOperatorDescriptor, enable the parallel sort in full round.
1. Add LogicalOperator Foward to enable MaterializingForwardOperatorDescriptor in the logical optimizor.
2. Introduce hint "psort" before sort to enable the user to use parallel sort.
3. Add the ApplyParalleoSortRule to introduce ReplicateOperator, AggregateOperator, ForwardOperator before SortOperator.
4. Apply ParallelStableSortPOperator into SortOperator if the following conditions are satisfied:
   a. Single column sort.
   b. non-topK condition inlined.

Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
---
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/ParallelStableSortPOperator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggFuncIntoStandaloneAggregateRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetAsterixPhysicalOperatorsRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineAllNtsInSubplanVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineLeftNtsInSubplanJoinFlatteningVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/SubplanSpecialFlatteningCheckVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/AqlPlusExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/FunctionCollection.java
M asterixdb/asterix-algebra/src/main/javacc/AQLPlus.jj
A asterixdb/asterix-app/data/skew/zipfan1.tbl
A asterixdb/asterix-app/data/skew/zipfan2.tbl
M asterixdb/asterix-app/pom.xml
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/AsterixAlgebricksHyracksIntegrationUtil.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/ParallelSortRuntimeTest.java
M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/TestPartitionComputerFactory.java
M asterixdb/asterix-app/src/test/resources/runtimets/only.xml
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_float/avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int16/avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int32/avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int64/avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int8/avg_int8.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-rg/global-rg.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_double/local-avg_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_float/local-avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.1.ddl.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int32/local-avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int64/local-avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int8/local-avg_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-rg/local-rg.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double-null/rg-double-null.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double/rg-double.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/global-rg/global-avg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/local-rg/local-rg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double-null/rg-double-null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double/rg-double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double/rg_double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16/rg_int16.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32/rg_int32.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64/rg_int64.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string/rg_string.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_prime/psort_prime.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
A asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/factory/DelimitedRecordTupleParserFactory.java
M asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj
M asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/clause/OrderbyClause.java
M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/AsterixBuiltinFunctions.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/GlobalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/LocalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RangeGeneratorTypeComputer.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/ScalarVersionOfAggregateResultType.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/histogram/AsterixStreamingHistogram.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateFunction.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalOperatorTag.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/OperatorAnnotations.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/PhysicalOperatorTag.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/ForwardOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/CardinalityInferenceVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismVariableMappingVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalOperatorDeepCopyWithNewVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalPropertiesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/OperatorDeepCopyVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/PrimaryKeyVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/ProducedVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SchemaVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SubstituteVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/UsedVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/visitors/ILogicalOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/AbstractIntroduceCombinerRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/ReplaceNtsWithSubplanInputOperatorVisitor.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksTaskContext.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/ITuplePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/FieldHashPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RandomPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RepartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/FieldRangePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangeMap.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/LocalityAwareMToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningMergingConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningWithMessageConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/HistogramType.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHeapList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/FieldRangeRepartitionComputerFactory.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorNodePushable.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingForwardOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingSampleTaskState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractStreamingHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/DominantQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantileComparator.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinDifferenceQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinSumCountQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/RepartitioningState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/util/HistogramUtils.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/result/ResultFileWriterOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/range/TypeTranslateTest.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan1.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan2.tbl
M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/pom.xml
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramAlgorithmTests.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramFieldType.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HyracksStreamingHistogram.java
M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestTaskContext.java
150 files changed, 16,486 insertions(+), 687 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/81/1381/2
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 2
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 23:

WARNING: THIS CHANGE CONTAINS CROSS-PRODUCT CHANGES IN:
* asterixdb
* hyracks-fullstack

PLEASE REVIEW CAREFULLY AND LOOK FOR API CHANGES!

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 23
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Wenhai Li (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/1381

to look at the new patch set (#12).

Change subject: Enable the parallel sort in the optimizor.
......................................................................

Enable the parallel sort in the optimizor.

Based on the MaterializingForwardOperatorDescriptor, enable the parallel sort in full round.
1. Add LogicalOperator Foward to enable MaterializingForwardOperatorDescriptor in the logical optimizor.
2. Introduce hint "psort" before sort to enable the user to use parallel sort.
3. Add the IntroduceParallelSortRule to introduce ReplicateOperator, AggregateOperator, ForwardOperator before SortOperator.
4. Apply ParallelStableSortPOperator into SortOperator if the following conditions are satisfied:
   a. Single column sort.
   b. non-topK condition inlined.
5. Add EnforcePreAdHocReplicateRule to guarantee the consistency of the replicate with forward.
6. Add and partially enable the opt/rt Test cases, including:
   a. Psort on full records.
   b. Psort on a join results.
   c. Nested psort within a subplan below a secondary sort or psort.

Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
---
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/ParallelStableSortPOperator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceParallelSortRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggFuncIntoStandaloneAggregateRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetAsterixPhysicalOperatorsRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineAllNtsInSubplanVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineLeftNtsInSubplanJoinFlatteningVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/SubplanSpecialFlatteningCheckVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/AqlPlusExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/FunctionCollection.java
M asterixdb/asterix-algebra/src/main/javacc/AQLPlus.jj
A asterixdb/asterix-app/data/skew/zipfan1.tbl
A asterixdb/asterix-app/data/skew/zipfan2.tbl
M asterixdb/asterix-app/pom.xml
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/AsterixAlgebricksHyracksIntegrationUtil.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/ParallelSortRuntimeTest.java
M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/TestPartitionComputerFactory.java
M asterixdb/asterix-app/src/test/resources/logging.properties
M asterixdb/asterix-app/src/test/resources/optimizerts/ignore.txt
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_nested.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_prime.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join_nested.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_prime.plan
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_float/avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int16/avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int32/avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int64/avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int8/avg_int8.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-rg/global-rg.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_double/local-avg_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_float/local-avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.1.ddl.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int32/local-avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int64/local-avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int8/local-avg_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-rg/local-rg.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double-null/rg-double-null.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double/rg-double.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/global-rg/global-avg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/local-rg/local-rg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double-null/rg-double-null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double/rg-double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double/rg_double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16/rg_int16.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32/rg_int32.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64/rg_int64.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string/rg_string.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join/psort_join.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_nested/psort_join_nested.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_prime/psort_prime.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
A asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/factory/DelimitedRecordTupleParserFactory.java
M asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj
M asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/clause/OrderbyClause.java
M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/GlobalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/LocalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RangeGeneratorTypeComputer.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/ScalarVersionOfAggregateResultType.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/histogram/AsterixStreamingHistogram.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateFunction.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalOperatorTag.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/OperatorAnnotations.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/PhysicalOperatorTag.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/ForwardOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/CardinalityInferenceVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismVariableMappingVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalOperatorDeepCopyWithNewVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalPropertiesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/OperatorDeepCopyVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/PrimaryKeyVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/ProducedVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SchemaVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SubstituteVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/UsedVariableVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/MaterializingForwardPOperator.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/RangeRepartitionExchangePOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/DelayOrderedPartitionedProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/IPartitioningProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/visitors/ILogicalOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/AbstractIntroduceCombinerRule.java
A hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforcePreAdHocReplicateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/RemoveUnusedAssignAndAggregateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/SetAlgebricksPhysicalOperatorsRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/ReplaceNtsWithSubplanInputOperatorVisitor.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksTaskContext.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/ITuplePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/FieldHashPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RandomPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RepartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/FieldRangePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangeMap.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/LocalityAwareMToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningMergingConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningWithMessageConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/HistogramType.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHeapList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/FieldRangeRepartitionComputerFactory.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorNodePushable.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingForwardOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingSampleTaskState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractStreamingHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/DominantQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantileComparator.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinDifferenceQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinSumCountQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/RepartitioningState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/util/HistogramUtils.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/result/ResultFileWriterOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/range/TypeTranslateTest.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan1.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan2.tbl
M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/pom.xml
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramAlgorithmTests.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramFieldType.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HyracksStreamingHistogram.java
M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestTaskContext.java
183 files changed, 18,182 insertions(+), 692 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/81/1381/12
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 12
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>

Change in asterixdb[master]: Enable the parallel sort in the optimizer.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizer.
......................................................................


Patch Set 7:

WARNING: THIS CHANGE CONTAINS CROSS-PRODUCT CHANGES IN:
* asterixdb
* hyracks-fullstack

PLEASE REVIEW CAREFULLY AND LOOK FOR API CHANGES!

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 7
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 56:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-source-assemblies/3676/ (4/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 56
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizer.

Posted by "Wenhai Li (Code Review)" <do...@asterixdb.incubator.apache.org>.
Hello Jenkins,

I'd like you to reexamine a change.  Please visit

    https://asterix-gerrit.ics.uci.edu/1381

to look at the new patch set (#14).

Change subject: Enable the parallel sort in the optimizer.
......................................................................

Enable the parallel sort in the optimizer.

Based on the MaterializingForwardOperatorDescriptor, enable the parallel sort in full round.
1. Add LogicalOperator Forward to enable MaterializingForwardOperatorDescriptor in the logical optimizor.
2. Introduce hint "psort" on sort to enable the user to use parallel sort.
3. Add the IntroduceParallelSortRule to introduce ReplicateOperator, AggregateOperator, ForwardOperator before SortOperator.
4. Apply ParallelStableSortPOperator into SortOperator if the following conditions are satisfied:
   a. Single column sort.
   b. non-topK condition inlined.
5. Add EnforcePreAdHocReplicateRule to guarantee the consistency of the replicate with forward.
6. Add and partially enable the opt/rt Test cases, including:
   a. Psort on full records.
   b. Psort on a join results.
   c. Nested psort within a subplan below a secondary sort or psort.

Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
---
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/algebra/operators/physical/ParallelStableSortPOperator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/base/RuleCollections.java
A asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/IntroduceParallelSortRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/PushAggFuncIntoStandaloneAggregateRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SetAsterixPhysicalOperatorsRule.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/SweepIllegalNonfunctionalFunctions.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineAllNtsInSubplanVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/InlineLeftNtsInSubplanJoinFlatteningVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/optimizer/rules/subplan/SubplanSpecialFlatteningCheckVisitor.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/AqlPlusExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/LangExpressionToPlanTranslator.java
M asterixdb/asterix-algebra/src/main/java/org/apache/asterix/translator/util/FunctionCollection.java
M asterixdb/asterix-algebra/src/main/javacc/AQLPlus.jj
A asterixdb/asterix-app/data/skew/zipfan1.tbl
A asterixdb/asterix-app/data/skew/zipfan2.tbl
M asterixdb/asterix-app/pom.xml
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/AsterixAlgebricksHyracksIntegrationUtil.java
A asterixdb/asterix-app/src/test/java/org/apache/asterix/runtime/ParallelSortRuntimeTest.java
M asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/TestPartitionComputerFactory.java
M asterixdb/asterix-app/src/test/resources/logging.properties
M asterixdb/asterix-app/src/test/resources/optimizerts/ignore.txt
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_group.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_join_nested.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/queries/dynamic-connector/psort_prime.aql
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_join_nested.plan
A asterixdb/asterix-app/src/test/resources/optimizerts/results/dynamic-connector/psort_prime.plan
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_float/avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int16/avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int32/avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int64/avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/avg_int8/avg_int8.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/count_01/count_01.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-avg_01/global-avg_01.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/global-rg/global-rg.1.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_double/local-avg_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_float/local-avg_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.1.ddl.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int16/local-avg_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int32/local-avg_int32.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int64/local-avg_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-avg_int8/local-avg_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/local-rg/local-rg.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double-null/rg-double-null.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg-double/rg-double.1.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_double/rg_double.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int16/rg_int16.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int32/rg_int32.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_int64/rg_int64.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/rg_string/rg_string.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_double/sum_double.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_float/sum_float.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int16/sum_int16.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int64/sum_int64.3.query.aql
M asterixdb/asterix-app/src/test/resources/runtimets/queries/aggregate/sum_int8/sum_int8.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_group/psort_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join/psort_join.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_group/psort_join_group.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_join_nested/psort_join_nested.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.1.ddl.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.2.update.aql
A asterixdb/asterix-app/src/test/resources/runtimets/queries/psort/psort_prime/psort_prime.3.query.aql
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/global-rg/global-avg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/local-rg/local-rg.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double-null/rg-double-null.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg-double/rg-double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_double/rg_double.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int16/rg_int16.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int32/rg_int32.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_int64/rg_int64.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/aggregate/rg_string/rg_string.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join/psort_join.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_join_nested/psort_join_nested.1.adm
A asterixdb/asterix-app/src/test/resources/runtimets/results/psort/psort_prime/psort_prime.1.adm
M asterixdb/asterix-app/src/test/resources/runtimets/testsuite.xml
A asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/factory/DelimitedRecordTupleParserFactory.java
M asterixdb/asterix-lang-aql/src/main/javacc/AQL.jj
M asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/clause/OrderbyClause.java
M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/functions/BuiltinFunctions.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/GlobalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/LocalRangeGeneratorTypeComputer.java
A asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/RangeGeneratorTypeComputer.java
M asterixdb/asterix-om/src/main/java/org/apache/asterix/om/typecomputer/impl/ScalarVersionOfAggregateResultType.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/ExceptionTest.java
M asterixdb/asterix-om/src/test/java/org/apache/asterix/om/typecomputer/TypeComputerTest.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/histogram/AsterixStreamingHistogram.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/scalar/ScalarRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/AbstractRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/GlobalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/LocalRangeGuiderAggregateFunction.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateDescriptor.java
A asterixdb/asterix-runtime/src/main/java/org/apache/asterix/runtime/aggregates/std/RangeGuiderAggregateFunction.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/LogicalOperatorTag.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/OperatorAnnotations.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/base/PhysicalOperatorTag.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/ForwardOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/CardinalityInferenceVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/FDsAndEquivClassesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/IsomorphismVariableMappingVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalOperatorDeepCopyWithNewVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/LogicalPropertiesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/OperatorDeepCopyVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/PrimaryKeyVariablesVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/ProducedVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SchemaVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/SubstituteVariableVisitor.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/logical/visitors/UsedVariableVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/MaterializingForwardPOperator.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/operators/physical/RangeRepartitionExchangePOperator.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/prettyprint/LogicalOperatorPrettyPrintVisitor.java
A hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/DelayOrderedPartitionedProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/properties/IPartitioningProperty.java
M hyracks-fullstack/algebricks/algebricks-core/src/main/java/org/apache/hyracks/algebricks/core/algebra/visitors/ILogicalOperatorVisitor.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/AbstractIntroduceCombinerRule.java
A hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforcePreAdHocReplicateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/EnforceStructuralPropertiesRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/RemoveUnusedAssignAndAggregateRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/SetAlgebricksPhysicalOperatorsRule.java
M hyracks-fullstack/algebricks/algebricks-rewriter/src/main/java/org/apache/hyracks/algebricks/rewriter/rules/subplan/ReplaceNtsWithSubplanInputOperatorVisitor.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/context/IHyracksTaskContext.java
M hyracks-fullstack/hyracks/hyracks-api/src/main/java/org/apache/hyracks/api/dataflow/value/ITuplePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/Task.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/FieldHashPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RandomPartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/RepartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/FieldRangePartitionComputerFactory.java
M hyracks-fullstack/hyracks/hyracks-dataflow-common/src/main/java/org/apache/hyracks/dataflow/common/data/partition/range/IRangeMap.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/LocalityAwareMToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningMergingConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/connectors/MToNPartitioningWithMessageConnectorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java
M hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/HistogramType.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHeapList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/IQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/FieldRangeRepartitionComputerFactory.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/ForwardOperatorNodePushable.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingForwardOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/repartition/MaterializingSampleTaskState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/AbstractStreamingHistogram.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/DominantQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantile.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/GenericQuantileComparator.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinDifferenceQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/MinSumCountQuantileList.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/structures/RepartitioningState.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/range/util/HistogramUtils.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/main/java/org/apache/hyracks/dataflow/std/result/ResultFileWriterOperatorDescriptor.java
A hyracks-fullstack/hyracks/hyracks-dataflow-std/src/test/java/org/apache/hyracks/dataflow/std/range/TypeTranslateTest.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan1.tbl
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/data/skew/zipfan2.tbl
M hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/pom.xml
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramAlgorithmTests.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HistogramFieldType.java
A hyracks-fullstack/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/org/apache/hyracks/tests/util/HyracksStreamingHistogram.java
M hyracks-fullstack/hyracks/hyracks-test-support/src/main/java/org/apache/hyracks/test/support/TestTaskContext.java
183 files changed, 18,182 insertions(+), 692 deletions(-)


  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/81/1381/14
-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 14
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 56:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-verify-storage/3993/ (10/12)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 56
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Anon. E. Moose #1000171
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 39:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-notopic/4190/

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 39
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@yahoo.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No

Change in asterixdb[master]: Enable the parallel sort in the optimizor.

Posted by "Jenkins (Code Review)" <do...@asterixdb.incubator.apache.org>.
Jenkins has posted comments on this change.

Change subject: Enable the parallel sort in the optimizor.
......................................................................


Patch Set 55:

Build Started https://asterix-jenkins.ics.uci.edu/job/asterix-gerrit-cancellation-test/1516/ (4/11)

-- 
To view, visit https://asterix-gerrit.ics.uci.edu/1381
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I755d909b7fb34d97a1950195ed3a5a5c9d4afdd5
Gerrit-PatchSet: 55
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Chen Li <ch...@gmail.com>
Gerrit-Reviewer: Jenkins <je...@fulliautomatix.ics.uci.edu>
Gerrit-Reviewer: Michael Carey <dt...@gmail.com>
Gerrit-Reviewer: Preston Carman <pr...@apache.org>
Gerrit-Reviewer: Till Westmann <ti...@apache.org>
Gerrit-Reviewer: Wenhai Li <lw...@gmail.com>
Gerrit-Reviewer: Yingyi Bu <bu...@gmail.com>
Gerrit-HasComments: No