[ https://issues.apache.org/jira/browse/HIVE-9510?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Damien Carol updated HIVE-9510: ------------------------------- Description: Setting log level in logging.properties file as following: {noformat} handlers=java.util.logging.ConsoleHandler.level=INFO org.apache.calcite.plan.RelOptPlanner.level=ALL java.util.logging.ConsoleHandler.level=ALL {noformat} Running Q3 in TPCH-full after modifying , in order to test join reorder, but running failed. QL: {code:sql} set hive.cbo.enable=true; --ANALYZE TABLE customer COMPUTE STATISTICS for columns; --ANALYZE TABLE orders COMPUTE STATISTICS for columns; --ANALYZE TABLE lineitem COMPUTE STATISTICS for columns; --Q3 -- the query select l_orderkey, sum(l_extendedprice*(1-l_discount)) as revenue, o_orderdate, o_shippriority from lineitem l join orders o on l.l_orderkey = o.o_orderkey join customer c on c.c_mktsegment = 'BUILDING' and c.c_custkey = o.o_custkey where o_orderdate < '1995-03-15' and l_shipdate > '1995-03-15' group by l_orderkey, o_orderdate, o_shippriority order by revenue desc, o_orderdate limit 10; {code} LOG: was: Setting log level in logging.properties file as following: {noformat} handlers=java.util.logging.ConsoleHandler.level=INFO org.apache.calcite.plan.RelOptPlanner.level=ALL java.util.logging.ConsoleHandler.level=ALL {noformat} Running Q3 in TPCH-full after modifying , in order to test join reorder, but running failed. QL: set hive.cbo.enable=true; --ANALYZE TABLE customer COMPUTE STATISTICS for columns; --ANALYZE TABLE orders COMPUTE STATISTICS for columns; --ANALYZE TABLE lineitem COMPUTE STATISTICS for columns; --Q3 -- the query {code:sql} select l_orderkey, sum(l_extendedprice*(1-l_discount)) as revenue, o_orderdate, o_shippriority from lineitem l join orders o on l.l_orderkey = o.o_orderkey join customer c on c.c_mktsegment = 'BUILDING' and c.c_custkey = o.o_custkey where o_orderdate < '1995-03-15' and l_shipdate > '1995-03-15' group by l_orderkey, o_orderdate, o_shippriority order by revenue desc, o_orderdate limit 10; {code} LOG: Jan 29, 2015 11:48:04 AM org.apache.calcite.plan.AbstractRelOptPlanner fireRule FINE: call#15: Apply rule [FilterProjectTransposeRule] to [rel#107:HiveFilter.HIVE.[](input=HepRelVertex#106,condition=<($2, '1995-03-15')), rel#105:HiveProject.HIVE.[](input=HepRelVertex#104,o_orderkey=$0,o_custkey=$1,o_orderdate=$4,o_shippriority=$7)] Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HiveFilter#138 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HiveProject#139 Jan 29, 2015 11:48:04 AM org.apache.calcite.plan.AbstractRelOptPlanner notifyTransformation FINE: call#15: Rule FilterProjectTransposeRule arguments [rel#107:HiveFilter.HIVE.[](input=HepRelVertex#106,condition=<($2, '1995-03-15')), rel#105:HiveProject.HIVE.[](input=HepRelVertex#104,o_orderkey=$0,o_custkey=$1,o_orderdate=$4,o_shippriority=$7)] produced HiveProject#139 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HepRelVertex#140 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HiveProject#141 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HepRelVertex#142 15/01/29 11:48:04 [main]: DEBUG stats.HiveRelMdRowCount: Identified Primary - Foreign Key relation: 15/01/29 11:48:04 [main]: DEBUG stats.HiveRelMdRowCount: HiveJoin(condition=[=($0, $4)], joinType=[inner]) HiveProject(l_orderkey=[$0], l_extendedprice=[$5], l_discount=[$6], l_shipdate=[$10]) HiveFilter(condition=[>($10, '1995-03-15')]) HiveTableScan(table=[[default.lineitem]]) HiveProject(o_orderkey=[$0], o_custkey=[$1], o_orderdate=[$4], o_shippriority=[$7]) HiveFilter(condition=[<($4, '1995-03-15')]) HiveTableScan(table=[[default.orders]]) 15/01/29 11:48:04 [main]: DEBUG stats.HiveRelMdRowCount: Primary - Foreign Key join: fkSide = 1 FKInfo:FKInfo(rowCount=1.00,ndv=-1.00) PKInfo:PKInfo(rowCount=1.00,ndv=-1.00,selectivity=1.00) isPKSideSimple:false NDV Scaling Factor:1.00 15/01/29 11:48:04 [main]: DEBUG stats.HiveRelMdRowCount: Identified Primary - Foreign Key relation: 15/01/29 11:48:04 [main]: DEBUG stats.HiveRelMdRowCount: HiveJoin(condition=[=($8, $5)], joinType=[inner]) HiveJoin(condition=[=($0, $4)], joinType=[inner]) HiveProject(l_orderkey=[$0], l_extendedprice=[$5], l_discount=[$6], l_shipdate=[$10]) HiveFilter(condition=[>($10, '1995-03-15')]) HiveTableScan(table=[[default.lineitem]]) HiveProject(o_orderkey=[$0], o_custkey=[$1], o_orderdate=[$4], o_shippriority=[$7]) HiveFilter(condition=[<($4, '1995-03-15')]) HiveTableScan(table=[[default.orders]]) HiveProject(c_custkey=[$0], c_mktsegment=[$6]) HiveFilter(condition=[=($6, 'BUILDING')]) HiveTableScan(table=[[default.customer]]) 15/01/29 11:48:04 [main]: DEBUG stats.HiveRelMdRowCount: Primary - Foreign Key join: fkSide = 1 FKInfo:FKInfo(rowCount=1.00,ndv=-1.00) PKInfo:PKInfo(rowCount=1.00,ndv=-1.00,selectivity=1.00) isPKSideSimple:false NDV Scaling Factor:1.00 Jan 29, 2015 11:48:04 AM org.apache.calcite.plan.hep.HepPlanner dumpGraph FINER: Breadth-first from root: { HepRelVertex#127 = rel#126:HiveSort.HIVE.[](input=HepRelVertex#125,fetch=10), rowcount=1.0, cumulative cost={36.0 rows, 2.0 cpu, 0.0 io} HepRelVertex#125 = rel#124:HiveSort.HIVE.[1 DESC, 2](input=HepRelVertex#123,sort0=$1,sort1=$2,dir0=DESC,dir1=ASC), rowcount=1.0, cumulative cost={20.0 rows, 1.0 cpu, 0.0 io} HepRelVertex#123 = rel#122:HiveProject.HIVE.[](input=HepRelVertex#121,l_orderkey=$0,revenue=$3,o_orderdate=$1,o_shippriority=$2), rowcount=1.0, cumulative cost={4.0 rows, 0.0 cpu, 0.0 io} HepRelVertex#121 = rel#120:HiveAggregate.HIVE.[](input=HepRelVertex#119,group={0, 1, 2},agg#0=sum($3)), rowcount=1.0, cumulative cost={4.0 rows, 0.0 cpu, 0.0 io} HepRelVertex#119 = rel#118:HiveProject.HIVE.[](input=HepRelVertex#117,$f0=$0,$f1=$6,$f2=$7,$f3=*($1, -(CAST(1):DOUBLE, $2))), rowcount=1.0, cumulative cost={4.0 rows, 0.0 cpu, 0.0 io} HepRelVertex#117 = rel#116:HiveJoin.HIVE.[](left=HepRelVertex#110,right=HepRelVertex#132,condition==($8, $5),joinType=inner), rowcount=1.0, cumulative cost={4.0 rows, 0.0 cpu, 0.0 io} HepRelVertex#110 = rel#109:HiveJoin.HIVE.[](left=HepRelVertex#137,right=HepRelVertex#142,condition==($0, $4),joinType=inner), rowcount=1.0, cumulative cost={2.0 rows, 0.0 cpu, 0.0 io} HepRelVertex#132 = rel#131:HiveProject.HIVE.[](input=HepRelVertex#130,c_custkey=$0,c_mktsegment=$6), rowcount=1.0, cumulative cost={0.0 rows, 0.0 cpu, 0.0 io} HepRelVertex#137 = rel#136:HiveProject.HIVE.[](input=HepRelVertex#135,l_orderkey=$0,l_extendedprice=$5,l_discount=$6,l_shipdate=$10), rowcount=1.0, cumulative cost={0.0 rows, 0.0 cpu, 0.0 io} HepRelVertex#142 = rel#141:HiveProject.HIVE.[](input=HepRelVertex#140,o_orderkey=$0,o_custkey=$1,o_orderdate=$4,o_shippriority=$7), rowcount=1.0, cumulative cost={0.0 rows, 0.0 cpu, 0.0 io} HepRelVertex#130 = rel#128:HiveFilter.HIVE.[](input=HepRelVertex#111,condition==($6, 'BUILDING')), rowcount=1.0, cumulative cost={0.0 rows, 0.0 cpu, 0.0 io} HepRelVertex#135 = rel#133:HiveFilter.HIVE.[](input=HepRelVertex#99,condition=>($10, '1995-03-15')), rowcount=1.0, cumulative cost={0.0 rows, 0.0 cpu, 0.0 io} HepRelVertex#140 = rel#138:HiveFilter.HIVE.[](input=HepRelVertex#104,condition=<($4, '1995-03-15')), rowcount=1.0, cumulative cost={0.0 rows, 0.0 cpu, 0.0 io} HepRelVertex#111 = rel#2:HiveTableScan.HIVE.[](table=[default.customer]), rowcount=1.0, cumulative cost={0} HepRelVertex#99 = rel#0:HiveTableScan.HIVE.[](table=[default.lineitem]), rowcount=1.0, cumulative cost={0} HepRelVertex#104 = rel#1:HiveTableScan.HIVE.[](table=[default.orders]), rowcount=1.0, cumulative cost={0} } Jan 29, 2015 11:48:04 AM org.apache.calcite.plan.hep.HepPlanner collectGarbage FINEST: collecting garbage Jan 29, 2015 11:48:04 AM org.apache.calcite.plan.AbstractRelOptPlanner notifyChosen FINE: For final plan, using rel#126:HiveSort.HIVE.[](input=HepRelVertex#125,fetch=10) Jan 29, 2015 11:48:04 AM org.apache.calcite.plan.AbstractRelOptPlanner notifyChosen FINE: For final plan, using rel#124:HiveSort.HIVE.[1 DESC, 2](input=HepRelVertex#123,sort0=$1,sort1=$2,dir0=DESC,dir1=ASC) Jan 29, 2015 11:48:04 AM org.apache.calcite.plan.AbstractRelOptPlanner notifyChosen FINE: For final plan, using rel#122:HiveProject.HIVE.[](input=HepRelVertex#121,l_orderkey=$0,revenue=$3,o_orderdate=$1,o_shippriority=$2) Jan 29, 2015 11:48:04 AM org.apache.calcite.plan.AbstractRelOptPlanner notifyChosen FINE: For final plan, using rel#120:HiveAggregate.HIVE.[](input=HepRelVertex#119,group={0, 1, 2},agg#0=sum($3)) Jan 29, 2015 11:48:04 AM org.apache.calcite.plan.AbstractRelOptPlanner notifyChosen FINE: For final plan, using rel#118:HiveProject.HIVE.[](input=HepRelVertex#117,$f0=$0,$f1=$6,$f2=$7,$f3=*($1, -(CAST(1):DOUBLE, $2))) Jan 29, 2015 11:48:04 AM org.apache.calcite.plan.AbstractRelOptPlanner notifyChosen FINE: For final plan, using rel#116:HiveJoin.HIVE.[](left=HepRelVertex#110,right=HepRelVertex#132,condition==($8, $5),joinType=inner) Jan 29, 2015 11:48:04 AM org.apache.calcite.plan.AbstractRelOptPlanner notifyChosen FINE: For final plan, using rel#109:HiveJoin.HIVE.[](left=HepRelVertex#137,right=HepRelVertex#142,condition==($0, $4),joinType=inner) Jan 29, 2015 11:48:04 AM org.apache.calcite.plan.AbstractRelOptPlanner notifyChosen FINE: For final plan, using rel#136:HiveProject.HIVE.[](input=HepRelVertex#135,l_orderkey=$0,l_extendedprice=$5,l_discount=$6,l_shipdate=$10) Jan 29, 2015 11:48:04 AM org.apache.calcite.plan.AbstractRelOptPlanner notifyChosen FINE: For final plan, using rel#133:HiveFilter.HIVE.[](input=HepRelVertex#99,condition=>($10, '1995-03-15')) Jan 29, 2015 11:48:04 AM org.apache.calcite.plan.AbstractRelOptPlanner notifyChosen FINE: For final plan, using rel#0:HiveTableScan.HIVE.[](table=[default.lineitem]) Jan 29, 2015 11:48:04 AM org.apache.calcite.plan.AbstractRelOptPlanner notifyChosen FINE: For final plan, using rel#141:HiveProject.HIVE.[](input=HepRelVertex#140,o_orderkey=$0,o_custkey=$1,o_orderdate=$4,o_shippriority=$7) Jan 29, 2015 11:48:04 AM org.apache.calcite.plan.AbstractRelOptPlanner notifyChosen FINE: For final plan, using rel#138:HiveFilter.HIVE.[](input=HepRelVertex#104,condition=<($4, '1995-03-15')) Jan 29, 2015 11:48:04 AM org.apache.calcite.plan.AbstractRelOptPlanner notifyChosen FINE: For final plan, using rel#1:HiveTableScan.HIVE.[](table=[default.orders]) Jan 29, 2015 11:48:04 AM org.apache.calcite.plan.AbstractRelOptPlanner notifyChosen FINE: For final plan, using rel#131:HiveProject.HIVE.[](input=HepRelVertex#130,c_custkey=$0,c_mktsegment=$6) Jan 29, 2015 11:48:04 AM org.apache.calcite.plan.AbstractRelOptPlanner notifyChosen FINE: For final plan, using rel#128:HiveFilter.HIVE.[](input=HepRelVertex#111,condition==($6, 'BUILDING')) Jan 29, 2015 11:48:04 AM org.apache.calcite.plan.AbstractRelOptPlanner notifyChosen FINE: For final plan, using rel#2:HiveTableScan.HIVE.[](table=[default.customer]) >>>>>>>>>>>>>>>> Apply Pre Join Order optimizations finished! Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HepRelVertex#143 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HiveFilter#144 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HepRelVertex#145 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HiveProject#146 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HepRelVertex#147 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HepRelVertex#148 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HiveFilter#149 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HepRelVertex#150 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HiveProject#151 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HepRelVertex#152 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HiveJoin#153 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HepRelVertex#154 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HepRelVertex#155 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HiveFilter#156 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HepRelVertex#157 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HiveProject#158 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HepRelVertex#159 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HiveJoin#160 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HepRelVertex#161 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HiveProject#162 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HepRelVertex#163 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HiveAggregate#164 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HepRelVertex#165 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HiveProject#166 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HepRelVertex#167 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HiveSort#168 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HepRelVertex#169 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HiveSort#170 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HepRelVertex#171 15/01/29 11:48:04 [main]: DEBUG stats.HiveRelMdRowCount: Identified Primary - Foreign Key relation: 15/01/29 11:48:04 [main]: DEBUG stats.HiveRelMdRowCount: HiveJoin(condition=[=($0, $4)], joinType=[inner]) HiveProject(l_orderkey=[$0], l_extendedprice=[$5], l_discount=[$6], l_shipdate=[$10]) HiveFilter(condition=[>($10, '1995-03-15')]) HiveTableScan(table=[[default.lineitem]]) HiveProject(o_orderkey=[$0], o_custkey=[$1], o_orderdate=[$4], o_shippriority=[$7]) HiveFilter(condition=[<($4, '1995-03-15')]) HiveTableScan(table=[[default.orders]]) 15/01/29 11:48:04 [main]: DEBUG stats.HiveRelMdRowCount: Primary - Foreign Key join: fkSide = 1 FKInfo:FKInfo(rowCount=1.00,ndv=-1.00) PKInfo:PKInfo(rowCount=1.00,ndv=-1.00,selectivity=1.00) isPKSideSimple:false NDV Scaling Factor:1.00 15/01/29 11:48:04 [main]: DEBUG stats.HiveRelMdRowCount: Identified Primary - Foreign Key relation: 15/01/29 11:48:04 [main]: DEBUG stats.HiveRelMdRowCount: HiveJoin(condition=[=($8, $5)], joinType=[inner]) HiveJoin(condition=[=($0, $4)], joinType=[inner]) HiveProject(l_orderkey=[$0], l_extendedprice=[$5], l_discount=[$6], l_shipdate=[$10]) HiveFilter(condition=[>($10, '1995-03-15')]) HiveTableScan(table=[[default.lineitem]]) HiveProject(o_orderkey=[$0], o_custkey=[$1], o_orderdate=[$4], o_shippriority=[$7]) HiveFilter(condition=[<($4, '1995-03-15')]) HiveTableScan(table=[[default.orders]]) HiveProject(c_custkey=[$0], c_mktsegment=[$6]) HiveFilter(condition=[=($6, 'BUILDING')]) HiveTableScan(table=[[default.customer]]) 15/01/29 11:48:04 [main]: DEBUG stats.HiveRelMdRowCount: Primary - Foreign Key join: fkSide = 1 FKInfo:FKInfo(rowCount=1.00,ndv=-1.00) PKInfo:PKInfo(rowCount=1.00,ndv=-1.00,selectivity=1.00) isPKSideSimple:false NDV Scaling Factor:1.00 Jan 29, 2015 11:48:04 AM org.apache.calcite.plan.hep.HepPlanner dumpGraph FINER: Breadth-first from root: { HepRelVertex#171 = rel#170:HiveSort.HIVE.[](input=HepRelVertex#169,fetch=10), rowcount=1.0, cumulative cost={36.0 rows, 2.0 cpu, 0.0 io} HepRelVertex#169 = rel#168:HiveSort.HIVE.[1 DESC, 2](input=HepRelVertex#167,sort0=$1,sort1=$2,dir0=DESC,dir1=ASC), rowcount=1.0, cumulative cost={20.0 rows, 1.0 cpu, 0.0 io} HepRelVertex#167 = rel#166:HiveProject.HIVE.[](input=HepRelVertex#165,l_orderkey=$0,revenue=$3,o_orderdate=$1,o_shippriority=$2), rowcount=1.0, cumulative cost={4.0 rows, 0.0 cpu, 0.0 io} HepRelVertex#165 = rel#164:HiveAggregate.HIVE.[](input=HepRelVertex#163,group={0, 1, 2},agg#0=sum($3)), rowcount=1.0, cumulative cost={4.0 rows, 0.0 cpu, 0.0 io} HepRelVertex#163 = rel#162:HiveProject.HIVE.[](input=HepRelVertex#161,$f0=$0,$f1=$6,$f2=$7,$f3=*($1, -(CAST(1):DOUBLE, $2))), rowcount=1.0, cumulative cost={4.0 rows, 0.0 cpu, 0.0 io} HepRelVertex#161 = rel#160:HiveJoin.HIVE.[](left=HepRelVertex#154,right=HepRelVertex#159,condition==($8, $5),joinType=inner), rowcount=1.0, cumulative cost={4.0 rows, 0.0 cpu, 0.0 io} HepRelVertex#154 = rel#153:HiveJoin.HIVE.[](left=HepRelVertex#147,right=HepRelVertex#152,condition==($0, $4),joinType=inner), rowcount=1.0, cumulative cost={2.0 rows, 0.0 cpu, 0.0 io} HepRelVertex#159 = rel#158:HiveProject.HIVE.[](input=HepRelVertex#157,c_custkey=$0,c_mktsegment=$6), rowcount=1.0, cumulative cost={0.0 rows, 0.0 cpu, 0.0 io} HepRelVertex#147 = rel#146:HiveProject.HIVE.[](input=HepRelVertex#145,l_orderkey=$0,l_extendedprice=$5,l_discount=$6,l_shipdate=$10), rowcount=1.0, cumulative cost={0.0 rows, 0.0 cpu, 0.0 io} HepRelVertex#152 = rel#151:HiveProject.HIVE.[](input=HepRelVertex#150,o_orderkey=$0,o_custkey=$1,o_orderdate=$4,o_shippriority=$7), rowcount=1.0, cumulative cost={0.0 rows, 0.0 cpu, 0.0 io} HepRelVertex#157 = rel#156:HiveFilter.HIVE.[](input=HepRelVertex#155,condition==($6, 'BUILDING')), rowcount=1.0, cumulative cost={0.0 rows, 0.0 cpu, 0.0 io} HepRelVertex#145 = rel#144:HiveFilter.HIVE.[](input=HepRelVertex#143,condition=>($10, '1995-03-15')), rowcount=1.0, cumulative cost={0.0 rows, 0.0 cpu, 0.0 io} HepRelVertex#150 = rel#149:HiveFilter.HIVE.[](input=HepRelVertex#148,condition=<($4, '1995-03-15')), rowcount=1.0, cumulative cost={0.0 rows, 0.0 cpu, 0.0 io} HepRelVertex#155 = rel#2:HiveTableScan.HIVE.[](table=[default.customer]), rowcount=1.0, cumulative cost={0} HepRelVertex#143 = rel#0:HiveTableScan.HIVE.[](table=[default.lineitem]), rowcount=1.0, cumulative cost={0} HepRelVertex#148 = rel#1:HiveTableScan.HIVE.[](table=[default.orders]), rowcount=1.0, cumulative cost={0} } Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HiveFilter#172 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HepRelVertex#173 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HiveProject#174 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HepRelVertex#175 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HiveFilter#176 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HepRelVertex#177 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HiveProject#178 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HepRelVertex#179 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HiveJoin#180 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HepRelVertex#181 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HiveFilter#182 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HepRelVertex#183 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HiveProject#184 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HepRelVertex#185 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HiveJoin#186 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HepRelVertex#187 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HiveProject#188 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HepRelVertex#189 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HiveAggregate#190 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HepRelVertex#191 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HiveProject#192 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HepRelVertex#193 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HiveSort#194 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HepRelVertex#195 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HiveSort#196 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HepRelVertex#197 15/01/29 11:48:04 [main]: DEBUG stats.HiveRelMdRowCount: Identified Primary - Foreign Key relation: 15/01/29 11:48:04 [main]: DEBUG stats.HiveRelMdRowCount: HiveJoin(condition=[=($0, $4)], joinType=[inner]) HiveProject(l_orderkey=[$0], l_extendedprice=[$5], l_discount=[$6], l_shipdate=[$10]) HiveFilter(condition=[>($10, '1995-03-15')]) HiveTableScan(table=[[default.lineitem]]) HiveProject(o_orderkey=[$0], o_custkey=[$1], o_orderdate=[$4], o_shippriority=[$7]) HiveFilter(condition=[<($4, '1995-03-15')]) HiveTableScan(table=[[default.orders]]) 15/01/29 11:48:04 [main]: DEBUG stats.HiveRelMdRowCount: Primary - Foreign Key join: fkSide = 1 FKInfo:FKInfo(rowCount=1.00,ndv=-1.00) PKInfo:PKInfo(rowCount=1.00,ndv=-1.00,selectivity=1.00) isPKSideSimple:false NDV Scaling Factor:1.00 15/01/29 11:48:04 [main]: DEBUG stats.HiveRelMdRowCount: Identified Primary - Foreign Key relation: 15/01/29 11:48:04 [main]: DEBUG stats.HiveRelMdRowCount: HiveJoin(condition=[=($8, $5)], joinType=[inner]) HiveJoin(condition=[=($0, $4)], joinType=[inner]) HiveProject(l_orderkey=[$0], l_extendedprice=[$5], l_discount=[$6], l_shipdate=[$10]) HiveFilter(condition=[>($10, '1995-03-15')]) HiveTableScan(table=[[default.lineitem]]) HiveProject(o_orderkey=[$0], o_custkey=[$1], o_orderdate=[$4], o_shippriority=[$7]) HiveFilter(condition=[<($4, '1995-03-15')]) HiveTableScan(table=[[default.orders]]) HiveProject(c_custkey=[$0], c_mktsegment=[$6]) HiveFilter(condition=[=($6, 'BUILDING')]) HiveTableScan(table=[[default.customer]]) 15/01/29 11:48:04 [main]: DEBUG stats.HiveRelMdRowCount: Primary - Foreign Key join: fkSide = 1 FKInfo:FKInfo(rowCount=1.00,ndv=-1.00) PKInfo:PKInfo(rowCount=1.00,ndv=-1.00,selectivity=1.00) isPKSideSimple:false NDV Scaling Factor:1.00 Jan 29, 2015 11:48:04 AM org.apache.calcite.plan.hep.HepPlanner dumpGraph FINER: Breadth-first from root: { HepRelVertex#197 = rel#196:HiveSort.HIVE.[](input=HepRelVertex#195,fetch=10), rowcount=1.0, cumulative cost={36.0 rows, 2.0 cpu, 0.0 io} HepRelVertex#195 = rel#194:HiveSort.HIVE.[1 DESC, 2](input=HepRelVertex#193,sort0=$1,sort1=$2,dir0=DESC,dir1=ASC), rowcount=1.0, cumulative cost={20.0 rows, 1.0 cpu, 0.0 io} HepRelVertex#193 = rel#192:HiveProject.HIVE.[](input=HepRelVertex#191,l_orderkey=$0,revenue=$3,o_orderdate=$1,o_shippriority=$2), rowcount=1.0, cumulative cost={4.0 rows, 0.0 cpu, 0.0 io} HepRelVertex#191 = rel#190:HiveAggregate.HIVE.[](input=HepRelVertex#189,group={0, 1, 2},agg#0=sum($3)), rowcount=1.0, cumulative cost={4.0 rows, 0.0 cpu, 0.0 io} HepRelVertex#189 = rel#188:HiveProject.HIVE.[](input=HepRelVertex#187,$f0=$0,$f1=$6,$f2=$7,$f3=*($1, -(CAST(1):DOUBLE, $2))), rowcount=1.0, cumulative cost={4.0 rows, 0.0 cpu, 0.0 io} HepRelVertex#187 = rel#186:HiveJoin.HIVE.[](left=HepRelVertex#181,right=HepRelVertex#185,condition==($8, $5),joinType=inner), rowcount=1.0, cumulative cost={4.0 rows, 0.0 cpu, 0.0 io} HepRelVertex#181 = rel#180:HiveJoin.HIVE.[](left=HepRelVertex#175,right=HepRelVertex#179,condition==($0, $4),joinType=inner), rowcount=1.0, cumulative cost={2.0 rows, 0.0 cpu, 0.0 io} HepRelVertex#185 = rel#184:HiveProject.HIVE.[](input=HepRelVertex#183,c_custkey=$0,c_mktsegment=$6), rowcount=1.0, cumulative cost={0.0 rows, 0.0 cpu, 0.0 io} HepRelVertex#175 = rel#174:HiveProject.HIVE.[](input=HepRelVertex#173,l_orderkey=$0,l_extendedprice=$5,l_discount=$6,l_shipdate=$10), rowcount=1.0, cumulative cost={0.0 rows, 0.0 cpu, 0.0 io} HepRelVertex#179 = rel#178:HiveProject.HIVE.[](input=HepRelVertex#177,o_orderkey=$0,o_custkey=$1,o_orderdate=$4,o_shippriority=$7), rowcount=1.0, cumulative cost={0.0 rows, 0.0 cpu, 0.0 io} HepRelVertex#183 = rel#182:HiveFilter.HIVE.[](input=HepRelVertex#155,condition==($6, 'BUILDING')), rowcount=1.0, cumulative cost={0.0 rows, 0.0 cpu, 0.0 io} HepRelVertex#173 = rel#172:HiveFilter.HIVE.[](input=HepRelVertex#143,condition=>($10, '1995-03-15')), rowcount=1.0, cumulative cost={0.0 rows, 0.0 cpu, 0.0 io} HepRelVertex#177 = rel#176:HiveFilter.HIVE.[](input=HepRelVertex#148,condition=<($4, '1995-03-15')), rowcount=1.0, cumulative cost={0.0 rows, 0.0 cpu, 0.0 io} HepRelVertex#155 = rel#2:HiveTableScan.HIVE.[](table=[default.customer]), rowcount=1.0, cumulative cost={0} HepRelVertex#143 = rel#0:HiveTableScan.HIVE.[](table=[default.lineitem]), rowcount=1.0, cumulative cost={0} HepRelVertex#148 = rel#1:HiveTableScan.HIVE.[](table=[default.orders]), rowcount=1.0, cumulative cost={0} } Jan 29, 2015 11:48:04 AM org.apache.calcite.plan.hep.HepPlanner executeInstruction FINEST: Setting match limit to BOTTOM_UP Jan 29, 2015 11:48:04 AM org.apache.calcite.plan.hep.HepPlanner applyRules FINEST: Applying rule set [JoinToMultiJoinRule] Jan 29, 2015 11:48:04 AM org.apache.calcite.plan.AbstractRelOptPlanner fireRule FINE: call#16: Apply rule [JoinToMultiJoinRule] to [rel#153:HiveJoin.HIVE.[](left=HepRelVertex#147,right=HepRelVertex#152,condition==($0, $4),joinType=inner), rel#146:HiveProject.HIVE.[](input=HepRelVertex#145,l_orderkey=$0,l_extendedprice=$5,l_discount=$6,l_shipdate=$10), rel#151:HiveProject.HIVE.[](input=HepRelVertex#150,o_orderkey=$0,o_custkey=$1,o_orderdate=$4,o_shippriority=$7)] Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new MultiJoin#198 Jan 29, 2015 11:48:04 AM org.apache.calcite.plan.AbstractRelOptPlanner notifyTransformation FINE: call#16: Rule JoinToMultiJoinRule arguments [rel#153:HiveJoin.HIVE.[](left=HepRelVertex#147,right=HepRelVertex#152,condition==($0, $4),joinType=inner), rel#146:HiveProject.HIVE.[](input=HepRelVertex#145,l_orderkey=$0,l_extendedprice=$5,l_discount=$6,l_shipdate=$10), rel#151:HiveProject.HIVE.[](input=HepRelVertex#150,o_orderkey=$0,o_custkey=$1,o_orderdate=$4,o_shippriority=$7)] produced MultiJoin#198 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new MultiJoin#199 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HepRelVertex#200 15/01/29 11:48:04 [main]: DEBUG stats.HiveRelMdRowCount: Identified Primary - Foreign Key relation: 15/01/29 11:48:04 [main]: DEBUG stats.HiveRelMdRowCount: HiveJoin(condition=[=($0, $4)], joinType=[inner]) HiveProject(l_orderkey=[$0], l_extendedprice=[$5], l_discount=[$6], l_shipdate=[$10]) HiveFilter(condition=[>($10, '1995-03-15')]) HiveTableScan(table=[[default.lineitem]]) HiveProject(o_orderkey=[$0], o_custkey=[$1], o_orderdate=[$4], o_shippriority=[$7]) HiveFilter(condition=[<($4, '1995-03-15')]) HiveTableScan(table=[[default.orders]]) 15/01/29 11:48:04 [main]: DEBUG stats.HiveRelMdRowCount: Primary - Foreign Key join: fkSide = 1 FKInfo:FKInfo(rowCount=1.00,ndv=-1.00) PKInfo:PKInfo(rowCount=1.00,ndv=-1.00,selectivity=1.00) isPKSideSimple:false NDV Scaling Factor:1.00 15/01/29 11:48:04 [main]: DEBUG stats.HiveRelMdRowCount: Identified Primary - Foreign Key relation: 15/01/29 11:48:04 [main]: DEBUG stats.HiveRelMdRowCount: HiveJoin(condition=[=($8, $5)], joinType=[inner]) HiveJoin(condition=[=($0, $4)], joinType=[inner]) HiveProject(l_orderkey=[$0], l_extendedprice=[$5], l_discount=[$6], l_shipdate=[$10]) HiveFilter(condition=[>($10, '1995-03-15')]) HiveTableScan(table=[[default.lineitem]]) HiveProject(o_orderkey=[$0], o_custkey=[$1], o_orderdate=[$4], o_shippriority=[$7]) HiveFilter(condition=[<($4, '1995-03-15')]) HiveTableScan(table=[[default.orders]]) HiveProject(c_custkey=[$0], c_mktsegment=[$6]) HiveFilter(condition=[=($6, 'BUILDING')]) HiveTableScan(table=[[default.customer]]) 15/01/29 11:48:04 [main]: DEBUG stats.HiveRelMdRowCount: Primary - Foreign Key join: fkSide = 1 FKInfo:FKInfo(rowCount=1.00,ndv=-1.00) PKInfo:PKInfo(rowCount=1.00,ndv=-1.00,selectivity=1.00) isPKSideSimple:false NDV Scaling Factor:1.00 Jan 29, 2015 11:48:04 AM org.apache.calcite.plan.hep.HepPlanner dumpGraph FINER: Breadth-first from root: { HepRelVertex#197 = rel#196:HiveSort.HIVE.[](input=HepRelVertex#195,fetch=10), rowcount=1.0, cumulative cost={36.0 rows, 2.0 cpu, 0.0 io} HepRelVertex#195 = rel#194:HiveSort.HIVE.[1 DESC, 2](input=HepRelVertex#193,sort0=$1,sort1=$2,dir0=DESC,dir1=ASC), rowcount=1.0, cumulative cost={20.0 rows, 1.0 cpu, 0.0 io} HepRelVertex#193 = rel#192:HiveProject.HIVE.[](input=HepRelVertex#191,l_orderkey=$0,revenue=$3,o_orderdate=$1,o_shippriority=$2), rowcount=1.0, cumulative cost={4.0 rows, 0.0 cpu, 0.0 io} HepRelVertex#191 = rel#190:HiveAggregate.HIVE.[](input=HepRelVertex#189,group={0, 1, 2},agg#0=sum($3)), rowcount=1.0, cumulative cost={4.0 rows, 0.0 cpu, 0.0 io} HepRelVertex#189 = rel#188:HiveProject.HIVE.[](input=HepRelVertex#187,$f0=$0,$f1=$6,$f2=$7,$f3=*($1, -(CAST(1):DOUBLE, $2))), rowcount=1.0, cumulative cost={4.0 rows, 0.0 cpu, 0.0 io} HepRelVertex#187 = rel#186:HiveJoin.HIVE.[](left=HepRelVertex#181,right=HepRelVertex#185,condition==($8, $5),joinType=inner), rowcount=1.0, cumulative cost={4.0 rows, 0.0 cpu, 0.0 io} HepRelVertex#181 = rel#180:HiveJoin.HIVE.[](left=HepRelVertex#175,right=HepRelVertex#179,condition==($0, $4),joinType=inner), rowcount=1.0, cumulative cost={2.0 rows, 0.0 cpu, 0.0 io} HepRelVertex#185 = rel#184:HiveProject.HIVE.[](input=HepRelVertex#183,c_custkey=$0,c_mktsegment=$6), rowcount=1.0, cumulative cost={0.0 rows, 0.0 cpu, 0.0 io} HepRelVertex#175 = rel#174:HiveProject.HIVE.[](input=HepRelVertex#173,l_orderkey=$0,l_extendedprice=$5,l_discount=$6,l_shipdate=$10), rowcount=1.0, cumulative cost={0.0 rows, 0.0 cpu, 0.0 io} HepRelVertex#179 = rel#178:HiveProject.HIVE.[](input=HepRelVertex#177,o_orderkey=$0,o_custkey=$1,o_orderdate=$4,o_shippriority=$7), rowcount=1.0, cumulative cost={0.0 rows, 0.0 cpu, 0.0 io} HepRelVertex#183 = rel#182:HiveFilter.HIVE.[](input=HepRelVertex#155,condition==($6, 'BUILDING')), rowcount=1.0, cumulative cost={0.0 rows, 0.0 cpu, 0.0 io} HepRelVertex#173 = rel#172:HiveFilter.HIVE.[](input=HepRelVertex#143,condition=>($10, '1995-03-15')), rowcount=1.0, cumulative cost={0.0 rows, 0.0 cpu, 0.0 io} HepRelVertex#177 = rel#176:HiveFilter.HIVE.[](input=HepRelVertex#148,condition=<($4, '1995-03-15')), rowcount=1.0, cumulative cost={0.0 rows, 0.0 cpu, 0.0 io} HepRelVertex#155 = rel#2:HiveTableScan.HIVE.[](table=[default.customer]), rowcount=1.0, cumulative cost={0} HepRelVertex#143 = rel#0:HiveTableScan.HIVE.[](table=[default.lineitem]), rowcount=1.0, cumulative cost={0} HepRelVertex#148 = rel#1:HiveTableScan.HIVE.[](table=[default.orders]), rowcount=1.0, cumulative cost={0} } Jan 29, 2015 11:48:04 AM org.apache.calcite.plan.hep.HepPlanner collectGarbage FINEST: collecting garbage Jan 29, 2015 11:48:04 AM org.apache.calcite.plan.AbstractRelOptPlanner fireRule FINE: call#17: Apply rule [JoinToMultiJoinRule] to [rel#180:HiveJoin.HIVE.[](left=HepRelVertex#175,right=HepRelVertex#179,condition==($0, $4),joinType=inner), rel#174:HiveProject.HIVE.[](input=HepRelVertex#173,l_orderkey=$0,l_extendedprice=$5,l_discount=$6,l_shipdate=$10), rel#178:HiveProject.HIVE.[](input=HepRelVertex#177,o_orderkey=$0,o_custkey=$1,o_orderdate=$4,o_shippriority=$7)] Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new MultiJoin#201 Jan 29, 2015 11:48:04 AM org.apache.calcite.plan.AbstractRelOptPlanner notifyTransformation FINE: call#17: Rule JoinToMultiJoinRule arguments [rel#180:HiveJoin.HIVE.[](left=HepRelVertex#175,right=HepRelVertex#179,condition==($0, $4),joinType=inner), rel#174:HiveProject.HIVE.[](input=HepRelVertex#173,l_orderkey=$0,l_extendedprice=$5,l_discount=$6,l_shipdate=$10), rel#178:HiveProject.HIVE.[](input=HepRelVertex#177,o_orderkey=$0,o_custkey=$1,o_orderdate=$4,o_shippriority=$7)] produced MultiJoin#201 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new MultiJoin#202 Jan 29, 2015 11:48:04 AM org.apache.calcite.rel.AbstractRelNode <init> FINEST: new HepRelVertex#203 15/01/29 11:48:04 [main]: ERROR parse.CalcitePlanner: CBO failed, skipping CBO. java.lang.NullPointerException at org.apache.calcite.rel.metadata.RelMdUtil.getJoinDistinctRowCount(RelMdUtil.java:653) at org.apache.hadoop.hive.ql.optimizer.calcite.stats.HiveRelMdDistinctRowCount.getDistinctRowCount(HiveRelMdDistinctRowCount.java:102) at sun.reflect.GeneratedMethodAccessor53.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.ReflectiveRelMetadataProvider$2$1.invoke(ReflectiveRelMetadataProvider.java:147) at com.sun.proxy.$Proxy23.getDistinctRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor40.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.ChainedRelMetadataProvider$ChainedInvocationHandler.invoke(ChainedRelMetadataProvider.java:109) at com.sun.proxy.$Proxy23.getDistinctRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor40.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.ChainedRelMetadataProvider$ChainedInvocationHandler.invoke(ChainedRelMetadataProvider.java:109) at com.sun.proxy.$Proxy23.getDistinctRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor40.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.CachingRelMetadataProvider$CachingInvocationHandler.invoke(CachingRelMetadataProvider.java:131) at com.sun.proxy.$Proxy23.getDistinctRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor40.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.ChainedRelMetadataProvider$ChainedInvocationHandler.invoke(ChainedRelMetadataProvider.java:109) at com.sun.proxy.$Proxy23.getDistinctRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor40.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.CachingRelMetadataProvider$CachingInvocationHandler.invoke(CachingRelMetadataProvider.java:131) at com.sun.proxy.$Proxy23.getDistinctRowCount(Unknown Source) at org.apache.calcite.rel.metadata.RelMetadataQuery.getDistinctRowCount(RelMetadataQuery.java:314) at org.apache.calcite.rel.metadata.RelMdDistinctRowCount.getDistinctRowCount(RelMdDistinctRowCount.java:230) at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.ReflectiveRelMetadataProvider$2$1.invoke(ReflectiveRelMetadataProvider.java:147) at com.sun.proxy.$Proxy23.getDistinctRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor40.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.ChainedRelMetadataProvider$ChainedInvocationHandler.invoke(ChainedRelMetadataProvider.java:109) at com.sun.proxy.$Proxy23.getDistinctRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor40.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.ChainedRelMetadataProvider$ChainedInvocationHandler.invoke(ChainedRelMetadataProvider.java:109) at com.sun.proxy.$Proxy23.getDistinctRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor40.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.CachingRelMetadataProvider$CachingInvocationHandler.invoke(CachingRelMetadataProvider.java:131) at com.sun.proxy.$Proxy23.getDistinctRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor40.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.ChainedRelMetadataProvider$ChainedInvocationHandler.invoke(ChainedRelMetadataProvider.java:109) at com.sun.proxy.$Proxy23.getDistinctRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor40.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.CachingRelMetadataProvider$CachingInvocationHandler.invoke(CachingRelMetadataProvider.java:131) at com.sun.proxy.$Proxy23.getDistinctRowCount(Unknown Source) at org.apache.calcite.rel.metadata.RelMetadataQuery.getDistinctRowCount(RelMetadataQuery.java:314) at org.apache.calcite.rel.metadata.RelMdRowCount.getRowCount(RelMdRowCount.java:88) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.ReflectiveRelMetadataProvider$2$1.invoke(ReflectiveRelMetadataProvider.java:147) at com.sun.proxy.$Proxy22.getRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.ChainedRelMetadataProvider$ChainedInvocationHandler.invoke(ChainedRelMetadataProvider.java:109) at com.sun.proxy.$Proxy22.getRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.ChainedRelMetadataProvider$ChainedInvocationHandler.invoke(ChainedRelMetadataProvider.java:109) at com.sun.proxy.$Proxy22.getRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.CachingRelMetadataProvider$CachingInvocationHandler.invoke(CachingRelMetadataProvider.java:131) at com.sun.proxy.$Proxy22.getRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.ChainedRelMetadataProvider$ChainedInvocationHandler.invoke(ChainedRelMetadataProvider.java:109) at com.sun.proxy.$Proxy22.getRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.CachingRelMetadataProvider$CachingInvocationHandler.invoke(CachingRelMetadataProvider.java:131) at com.sun.proxy.$Proxy22.getRowCount(Unknown Source) at org.apache.calcite.rel.metadata.RelMetadataQuery.getRowCount(RelMetadataQuery.java:81) at org.apache.calcite.rel.metadata.RelMdRowCount.getRowCount(RelMdRowCount.java:64) at sun.reflect.GeneratedMethodAccessor57.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.ReflectiveRelMetadataProvider$2$1.invoke(ReflectiveRelMetadataProvider.java:147) at com.sun.proxy.$Proxy22.getRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.ChainedRelMetadataProvider$ChainedInvocationHandler.invoke(ChainedRelMetadataProvider.java:109) at com.sun.proxy.$Proxy22.getRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.ChainedRelMetadataProvider$ChainedInvocationHandler.invoke(ChainedRelMetadataProvider.java:109) at com.sun.proxy.$Proxy22.getRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.CachingRelMetadataProvider$CachingInvocationHandler.invoke(CachingRelMetadataProvider.java:131) at com.sun.proxy.$Proxy22.getRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.ChainedRelMetadataProvider$ChainedInvocationHandler.invoke(ChainedRelMetadataProvider.java:109) at com.sun.proxy.$Proxy22.getRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.CachingRelMetadataProvider$CachingInvocationHandler.invoke(CachingRelMetadataProvider.java:131) at com.sun.proxy.$Proxy22.getRowCount(Unknown Source) at org.apache.calcite.rel.metadata.RelMetadataQuery.getRowCount(RelMetadataQuery.java:81) at org.apache.calcite.rel.metadata.RelMdRowCount.getRowCount(RelMdRowCount.java:68) at sun.reflect.GeneratedMethodAccessor61.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.ReflectiveRelMetadataProvider$2$1.invoke(ReflectiveRelMetadataProvider.java:147) at com.sun.proxy.$Proxy22.getRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.ChainedRelMetadataProvider$ChainedInvocationHandler.invoke(ChainedRelMetadataProvider.java:109) at com.sun.proxy.$Proxy22.getRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.ChainedRelMetadataProvider$ChainedInvocationHandler.invoke(ChainedRelMetadataProvider.java:109) at com.sun.proxy.$Proxy22.getRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.CachingRelMetadataProvider$CachingInvocationHandler.invoke(CachingRelMetadataProvider.java:131) at com.sun.proxy.$Proxy22.getRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.ChainedRelMetadataProvider$ChainedInvocationHandler.invoke(ChainedRelMetadataProvider.java:109) at com.sun.proxy.$Proxy22.getRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.CachingRelMetadataProvider$CachingInvocationHandler.invoke(CachingRelMetadataProvider.java:131) at com.sun.proxy.$Proxy22.getRowCount(Unknown Source) at org.apache.calcite.rel.metadata.RelMetadataQuery.getRowCount(RelMetadataQuery.java:81) at org.apache.calcite.rel.metadata.RelMdRowCount.getRowCount(RelMdRowCount.java:68) at sun.reflect.GeneratedMethodAccessor61.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.ReflectiveRelMetadataProvider$2$1.invoke(ReflectiveRelMetadataProvider.java:147) at com.sun.proxy.$Proxy22.getRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.ChainedRelMetadataProvider$ChainedInvocationHandler.invoke(ChainedRelMetadataProvider.java:109) at com.sun.proxy.$Proxy22.getRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.ChainedRelMetadataProvider$ChainedInvocationHandler.invoke(ChainedRelMetadataProvider.java:109) at com.sun.proxy.$Proxy22.getRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.CachingRelMetadataProvider$CachingInvocationHandler.invoke(CachingRelMetadataProvider.java:131) at com.sun.proxy.$Proxy22.getRowCount(Unknown Source) at org.apache.calcite.rel.metadata.RelMetadataQuery.getRowCount(RelMetadataQuery.java:81) at org.apache.calcite.plan.hep.HepPlanner.dumpGraph(HepPlanner.java:958) at org.apache.calcite.plan.hep.HepPlanner.applyTransformationResults(HepPlanner.java:723) at org.apache.calcite.plan.hep.HepPlanner.applyRule(HepPlanner.java:518) at org.apache.calcite.plan.hep.HepPlanner.applyRules(HepPlanner.java:392) at org.apache.calcite.plan.hep.HepPlanner.executeInstruction(HepPlanner.java:255) at org.apache.calcite.plan.hep.HepInstruction$RuleInstance.execute(HepInstruction.java:125) at org.apache.calcite.plan.hep.HepPlanner.executeProgram(HepPlanner.java:207) at org.apache.calcite.plan.hep.HepPlanner.findBestExp(HepPlanner.java:194) at org.apache.hadoop.hive.ql.parse.CalcitePlanner$CalcitePlannerAction.apply(CalcitePlanner.java:736) at org.apache.hadoop.hive.ql.parse.CalcitePlanner$CalcitePlannerAction.apply(CalcitePlanner.java:658) at org.apache.calcite.tools.Frameworks$1.apply(Frameworks.java:109) at org.apache.calcite.prepare.CalcitePrepareImpl.perform(CalcitePrepareImpl.java:691) at org.apache.calcite.tools.Frameworks.withPrepare(Frameworks.java:145) at org.apache.calcite.tools.Frameworks.withPlanner(Frameworks.java:105) at org.apache.hadoop.hive.ql.parse.CalcitePlanner.getOptimizedAST(CalcitePlanner.java:568) at org.apache.hadoop.hive.ql.parse.CalcitePlanner.genOPTree(CalcitePlanner.java:224) at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:9983) at org.apache.hadoop.hive.ql.parse.CalcitePlanner.analyzeInternal(CalcitePlanner.java:190) at org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:224) at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:420) at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:306) at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:1106) at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1154) at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1043) at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1033) at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:207) at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:159) at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:370) at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:305) at org.apache.hadoop.hive.cli.CliDriver.processReader(CliDriver.java:403) at org.apache.hadoop.hive.cli.CliDriver.processFile(CliDriver.java:419) at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:708) at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:675) at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:615) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.hadoop.util.RunJar.main(RunJar.java:212) FAILED: NullPointerException null 15/01/29 11:48:04 [main]: ERROR ql.Driver: FAILED: NullPointerException null java.lang.NullPointerException at org.apache.calcite.rel.metadata.RelMdUtil.getJoinDistinctRowCount(RelMdUtil.java:653) at org.apache.hadoop.hive.ql.optimizer.calcite.stats.HiveRelMdDistinctRowCount.getDistinctRowCount(HiveRelMdDistinctRowCount.java:102) at sun.reflect.GeneratedMethodAccessor53.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.ReflectiveRelMetadataProvider$2$1.invoke(ReflectiveRelMetadataProvider.java:147) at com.sun.proxy.$Proxy23.getDistinctRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor40.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.ChainedRelMetadataProvider$ChainedInvocationHandler.invoke(ChainedRelMetadataProvider.java:109) at com.sun.proxy.$Proxy23.getDistinctRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor40.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.ChainedRelMetadataProvider$ChainedInvocationHandler.invoke(ChainedRelMetadataProvider.java:109) at com.sun.proxy.$Proxy23.getDistinctRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor40.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.CachingRelMetadataProvider$CachingInvocationHandler.invoke(CachingRelMetadataProvider.java:131) at com.sun.proxy.$Proxy23.getDistinctRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor40.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.ChainedRelMetadataProvider$ChainedInvocationHandler.invoke(ChainedRelMetadataProvider.java:109) at com.sun.proxy.$Proxy23.getDistinctRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor40.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.CachingRelMetadataProvider$CachingInvocationHandler.invoke(CachingRelMetadataProvider.java:131) at com.sun.proxy.$Proxy23.getDistinctRowCount(Unknown Source) at org.apache.calcite.rel.metadata.RelMetadataQuery.getDistinctRowCount(RelMetadataQuery.java:314) at org.apache.calcite.rel.metadata.RelMdDistinctRowCount.getDistinctRowCount(RelMdDistinctRowCount.java:230) at sun.reflect.GeneratedMethodAccessor58.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.ReflectiveRelMetadataProvider$2$1.invoke(ReflectiveRelMetadataProvider.java:147) at com.sun.proxy.$Proxy23.getDistinctRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor40.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.ChainedRelMetadataProvider$ChainedInvocationHandler.invoke(ChainedRelMetadataProvider.java:109) at com.sun.proxy.$Proxy23.getDistinctRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor40.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.ChainedRelMetadataProvider$ChainedInvocationHandler.invoke(ChainedRelMetadataProvider.java:109) at com.sun.proxy.$Proxy23.getDistinctRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor40.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.CachingRelMetadataProvider$CachingInvocationHandler.invoke(CachingRelMetadataProvider.java:131) at com.sun.proxy.$Proxy23.getDistinctRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor40.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.ChainedRelMetadataProvider$ChainedInvocationHandler.invoke(ChainedRelMetadataProvider.java:109) at com.sun.proxy.$Proxy23.getDistinctRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor40.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.CachingRelMetadataProvider$CachingInvocationHandler.invoke(CachingRelMetadataProvider.java:131) at com.sun.proxy.$Proxy23.getDistinctRowCount(Unknown Source) at org.apache.calcite.rel.metadata.RelMetadataQuery.getDistinctRowCount(RelMetadataQuery.java:314) at org.apache.calcite.rel.metadata.RelMdRowCount.getRowCount(RelMdRowCount.java:88) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.ReflectiveRelMetadataProvider$2$1.invoke(ReflectiveRelMetadataProvider.java:147) at com.sun.proxy.$Proxy22.getRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.ChainedRelMetadataProvider$ChainedInvocationHandler.invoke(ChainedRelMetadataProvider.java:109) at com.sun.proxy.$Proxy22.getRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.ChainedRelMetadataProvider$ChainedInvocationHandler.invoke(ChainedRelMetadataProvider.java:109) at com.sun.proxy.$Proxy22.getRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.CachingRelMetadataProvider$CachingInvocationHandler.invoke(CachingRelMetadataProvider.java:131) at com.sun.proxy.$Proxy22.getRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.ChainedRelMetadataProvider$ChainedInvocationHandler.invoke(ChainedRelMetadataProvider.java:109) at com.sun.proxy.$Proxy22.getRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.CachingRelMetadataProvider$CachingInvocationHandler.invoke(CachingRelMetadataProvider.java:131) at com.sun.proxy.$Proxy22.getRowCount(Unknown Source) at org.apache.calcite.rel.metadata.RelMetadataQuery.getRowCount(RelMetadataQuery.java:81) at org.apache.calcite.rel.metadata.RelMdRowCount.getRowCount(RelMdRowCount.java:64) at sun.reflect.GeneratedMethodAccessor57.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.ReflectiveRelMetadataProvider$2$1.invoke(ReflectiveRelMetadataProvider.java:147) at com.sun.proxy.$Proxy22.getRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.ChainedRelMetadataProvider$ChainedInvocationHandler.invoke(ChainedRelMetadataProvider.java:109) at com.sun.proxy.$Proxy22.getRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.ChainedRelMetadataProvider$ChainedInvocationHandler.invoke(ChainedRelMetadataProvider.java:109) at com.sun.proxy.$Proxy22.getRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.CachingRelMetadataProvider$CachingInvocationHandler.invoke(CachingRelMetadataProvider.java:131) at com.sun.proxy.$Proxy22.getRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.ChainedRelMetadataProvider$ChainedInvocationHandler.invoke(ChainedRelMetadataProvider.java:109) at com.sun.proxy.$Proxy22.getRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.CachingRelMetadataProvider$CachingInvocationHandler.invoke(CachingRelMetadataProvider.java:131) at com.sun.proxy.$Proxy22.getRowCount(Unknown Source) at org.apache.calcite.rel.metadata.RelMetadataQuery.getRowCount(RelMetadataQuery.java:81) at org.apache.calcite.rel.metadata.RelMdRowCount.getRowCount(RelMdRowCount.java:68) at sun.reflect.GeneratedMethodAccessor61.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.ReflectiveRelMetadataProvider$2$1.invoke(ReflectiveRelMetadataProvider.java:147) at com.sun.proxy.$Proxy22.getRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.ChainedRelMetadataProvider$ChainedInvocationHandler.invoke(ChainedRelMetadataProvider.java:109) at com.sun.proxy.$Proxy22.getRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.ChainedRelMetadataProvider$ChainedInvocationHandler.invoke(ChainedRelMetadataProvider.java:109) at com.sun.proxy.$Proxy22.getRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.CachingRelMetadataProvider$CachingInvocationHandler.invoke(CachingRelMetadataProvider.java:131) at com.sun.proxy.$Proxy22.getRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.ChainedRelMetadataProvider$ChainedInvocationHandler.invoke(ChainedRelMetadataProvider.java:109) at com.sun.proxy.$Proxy22.getRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.CachingRelMetadataProvider$CachingInvocationHandler.invoke(CachingRelMetadataProvider.java:131) at com.sun.proxy.$Proxy22.getRowCount(Unknown Source) at org.apache.calcite.rel.metadata.RelMetadataQuery.getRowCount(RelMetadataQuery.java:81) at org.apache.calcite.rel.metadata.RelMdRowCount.getRowCount(RelMdRowCount.java:68) at sun.reflect.GeneratedMethodAccessor61.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.ReflectiveRelMetadataProvider$2$1.invoke(ReflectiveRelMetadataProvider.java:147) at com.sun.proxy.$Proxy22.getRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.ChainedRelMetadataProvider$ChainedInvocationHandler.invoke(ChainedRelMetadataProvider.java:109) at com.sun.proxy.$Proxy22.getRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.ChainedRelMetadataProvider$ChainedInvocationHandler.invoke(ChainedRelMetadataProvider.java:109) at com.sun.proxy.$Proxy22.getRowCount(Unknown Source) at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.calcite.rel.metadata.CachingRelMetadataProvider$CachingInvocationHandler.invoke(CachingRelMetadataProvider.java:131) at com.sun.proxy.$Proxy22.getRowCount(Unknown Source) at org.apache.calcite.rel.metadata.RelMetadataQuery.getRowCount(RelMetadataQuery.java:81) at org.apache.calcite.plan.hep.HepPlanner.dumpGraph(HepPlanner.java:958) at org.apache.calcite.plan.hep.HepPlanner.applyTransformationResults(HepPlanner.java:723) at org.apache.calcite.plan.hep.HepPlanner.applyRule(HepPlanner.java:518) at org.apache.calcite.plan.hep.HepPlanner.applyRules(HepPlanner.java:392) at org.apache.calcite.plan.hep.HepPlanner.executeInstruction(HepPlanner.java:255) at org.apache.calcite.plan.hep.HepInstruction$RuleInstance.execute(HepInstruction.java:125) at org.apache.calcite.plan.hep.HepPlanner.executeProgram(HepPlanner.java:207) at org.apache.calcite.plan.hep.HepPlanner.findBestExp(HepPlanner.java:194) at org.apache.hadoop.hive.ql.parse.CalcitePlanner$CalcitePlannerAction.apply(CalcitePlanner.java:736) at org.apache.hadoop.hive.ql.parse.CalcitePlanner$CalcitePlannerAction.apply(CalcitePlanner.java:658) at org.apache.calcite.tools.Frameworks$1.apply(Frameworks.java:109) at org.apache.calcite.prepare.CalcitePrepareImpl.perform(CalcitePrepareImpl.java:691) at org.apache.calcite.tools.Frameworks.withPrepare(Frameworks.java:145) at org.apache.calcite.tools.Frameworks.withPlanner(Frameworks.java:105) at org.apache.hadoop.hive.ql.parse.CalcitePlanner.getOptimizedAST(CalcitePlanner.java:568) at org.apache.hadoop.hive.ql.parse.CalcitePlanner.genOPTree(CalcitePlanner.java:224) at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:9983) at org.apache.hadoop.hive.ql.parse.CalcitePlanner.analyzeInternal(CalcitePlanner.java:190) at org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:224) at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:420) at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:306) at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:1106) at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1154) at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1043) at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1033) at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:207) at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:159) at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:370) at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:305) at org.apache.hadoop.hive.cli.CliDriver.processReader(CliDriver.java:403) at org.apache.hadoop.hive.cli.CliDriver.processFile(CliDriver.java:419) at org.apache.hadoop.hive.cli.CliDriver.executeDriver(CliDriver.java:708) at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:675) at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:615) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.hadoop.util.RunJar.main(RunJar.java:212) > Throwing null point exception , when get join distinct row count from > RelMdUtil.java class > ------------------------------------------------------------------------------------------ > > Key: HIVE-9510 > URL: https://issues.apache.org/jira/browse/HIVE-9510 > Project: Hive > Issue Type: Bug > Reporter: asko > Assignee: Julian Hyde > Attachments: log3_cbo5 > > > Setting log level in logging.properties file as following: > {noformat} > handlers=java.util.logging.ConsoleHandler.level=INFO > org.apache.calcite.plan.RelOptPlanner.level=ALL > java.util.logging.ConsoleHandler.level=ALL > {noformat} > Running Q3 in TPCH-full after modifying , in order to test join reorder, > but running failed. > QL: > {code:sql} > set hive.cbo.enable=true; > --ANALYZE TABLE customer COMPUTE STATISTICS for columns; > --ANALYZE TABLE orders COMPUTE STATISTICS for columns; > --ANALYZE TABLE lineitem COMPUTE STATISTICS for columns; > --Q3 > -- the query > select > l_orderkey, sum(l_extendedprice*(1-l_discount)) as revenue, o_orderdate, > o_shippriority > from > lineitem l join orders o > on l.l_orderkey = o.o_orderkey > join customer c > on c.c_mktsegment = 'BUILDING' and c.c_custkey = o.o_custkey > where > o_orderdate < '1995-03-15' and l_shipdate > '1995-03-15' > group by l_orderkey, o_orderdate, o_shippriority > order by revenue desc, o_orderdate > limit 10; > {code} > LOG: -- This message was sent by Atlassian JIRA (v6.3.4#6332)