From 6bf6bbe5a3cf3833ea541109d7511554e6b70902 Mon Sep 17 00:00:00 2001 From: Ashutosh Chauhan Date: Wed, 15 Apr 2015 15:52:57 +0000 Subject: [PATCH] HIVE-10341 : CBO (Calcite Return Path): TraitSets not correctly propagated in HiveSortExchange causes Assertion error (Jesus Camacho Rodriguez via Ashutosh Chauhan) git-svn-id: https://svn.apache.org/repos/asf/hive/branches/cbo@1673837 13f79535-47bb-0310-9956-ffa450edef68 --- .../ql/optimizer/calcite/reloperators/HiveSortExchange.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/reloperators/HiveSortExchange.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/reloperators/HiveSortExchange.java index d11f69d2aa4f..8cbc9537b641 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/reloperators/HiveSortExchange.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/calcite/reloperators/HiveSortExchange.java @@ -1,6 +1,5 @@ package org.apache.hadoop.hive.ql.optimizer.calcite.reloperators; -import org.apache.calcite.plan.Convention; import org.apache.calcite.plan.RelOptCluster; import org.apache.calcite.plan.RelTraitSet; import org.apache.calcite.rel.RelCollation; @@ -33,9 +32,8 @@ public static HiveSortExchange create(RelNode input, RelDistribution distribution, RelCollation collation) { RelOptCluster cluster = input.getCluster(); distribution = RelDistributionTraitDef.INSTANCE.canonize(distribution); - RelTraitSet traitSet = - input.getTraitSet().replace(Convention.NONE).replace(distribution); collation = RelCollationTraitDef.INSTANCE.canonize(collation); + RelTraitSet traitSet = RelTraitSet.createEmpty().plus(distribution).plus(collation); return new HiveSortExchange(cluster, traitSet, input, distribution, collation); }