You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Jesus Camacho Rodriguez (JIRA)" <ji...@apache.org> on 2018/06/01 23:13:00 UTC

[jira] [Commented] (HIVE-19771) allowNullColumnForMissingStats should not be false when column stats are estimated

    [ https://issues.apache.org/jira/browse/HIVE-19771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16498687#comment-16498687 ] 

Jesus Camacho Rodriguez commented on HIVE-19771:
------------------------------------------------

Cc [~ashutoshc] [~vgarg]

> allowNullColumnForMissingStats should not be false when column stats are estimated
> ----------------------------------------------------------------------------------
>
>                 Key: HIVE-19771
>                 URL: https://issues.apache.org/jira/browse/HIVE-19771
>             Project: Hive
>          Issue Type: Bug
>          Components: CBO
>    Affects Versions: 3.0.0
>            Reporter: Jesus Camacho Rodriguez
>            Assignee: Jesus Camacho Rodriguez
>            Priority: Major
>         Attachments: HIVE-19771.patch
>
>
> Otherwise we may throw an Exception.
> {noformat}
> 2018-05-26T00:30:22,335 DEBUG [HiveServer2-Background-Pool: Thread-631]: stats.StatsUtils (:()) - Estimated average row size: 372
> 2018-05-26T00:30:22,352 DEBUG [HiveServer2-Background-Pool: Thread-631]: calcite.RelOptHiveTable (:()) - Stats for column a in table basetable_rebuild stored in cache
> 2018-05-26T00:30:22,352 DEBUG [HiveServer2-Background-Pool: Thread-631]: calcite.RelOptHiveTable (:()) -  colName: a colType: int countDistincts: 4 numNulls: 1 avgColLen: 4.0 numTrues: 0 numFalses: 0 Range: [ min: -9223372036854775808 max: 9223372036854775807 ] isPrimaryKey: false isEstimated: true
> 2018-05-26T00:30:22,352 DEBUG [HiveServer2-Background-Pool: Thread-631]: calcite.RelOptHiveTable (:()) - Stats for column b in table basetable_rebuild stored in cache
> 2018-05-26T00:30:22,352 DEBUG [HiveServer2-Background-Pool: Thread-631]: calcite.RelOptHiveTable (:()) -  colName: b colType: varchar(256) countDistincts: 4 numNulls: 1 avgColLen: 256.0 numTrues: 0 numFalses: 0 isPrimaryKey: false isEstimated: true
> 2018-05-26T00:30:22,352 ERROR [HiveServer2-Background-Pool: Thread-631]: calcite.RelOptHiveTable (:()) - No Stats for default@basetable_rebuild, Columns: a, b
> java.lang.RuntimeException: No Stats for default@basetable_rebuild, Columns: a, b
>         at org.apache.hadoop.hive.ql.optimizer.calcite.RelOptHiveTable.updateColStats(RelOptHiveTable.java:586) ~[hive-exec-3.0.0.jar:3.0.0-SNAPSHOT]
>         at org.apache.hadoop.hive.ql.optimizer.calcite.RelOptHiveTable.getColStat(RelOptHiveTable.java:606) ~[hive-exec-3.0.0.jar:3.0.0-SNAPSHOT]
>         at org.apache.hadoop.hive.ql.optimizer.calcite.RelOptHiveTable.getColStat(RelOptHiveTable.java:592) ~[hive-exec-3.0.0.jar:3.0.0-SNAPSHOT]
>         at org.apache.hadoop.hive.ql.optimizer.calcite.reloperators.HiveTableScan.getColStat(HiveTableScan.java:155) ~[hive-exec-3.0.0.jar:3.0.0-SNAPSHOT]
>         at org.apache.hadoop.hive.ql.optimizer.calcite.stats.HiveRelMdDistinctRowCount.getDistinctRowCount(HiveRelMdDistinctRowCount.java:78) ~[hive-exec-3.0.0.jar:3.0.0-SNAPSHOT]
>         at org.apache.hadoop.hive.ql.optimizer.calcite.stats.HiveRelMdDistinctRowCount.getDistinctRowCount(HiveRelMdDistinctRowCount.java:65) ~[hive-exec-3.0.0.jar:3.0.0-SNAPSHOT]
>         at GeneratedMetadataHandler_DistinctRowCount.getDistinctRowCount_$(Unknown Source) ~[?:?]
>         at GeneratedMetadataHandler_DistinctRowCount.getDistinctRowCount(Unknown Source) ~[?:?]
>         at org.apache.calcite.rel.metadata.RelMetadataQuery.getDistinctRowCount(RelMetadataQuery.java:781) ~[calcite-core-1.16.0.jar:1.16.0]
>         at org.apache.calcite.rel.metadata.RelMdRowCount.getRowCount(RelMdRowCount.java:207) ~[calcite-core-1.16.0.jar:1.16.0]
>         at GeneratedMetadataHandler_RowCount.getRowCount_$(Unknown Source) ~[?:?]
>         at GeneratedMetadataHandler_RowCount.getRowCount(Unknown Source) ~[?:?]
>         at org.apache.calcite.rel.metadata.RelMetadataQuery.getRowCount(RelMetadataQuery.java:235) ~[calcite-core-1.16.0.jar:1.16.0]
>         at org.apache.calcite.rel.externalize.RelWriterImpl.explain_(RelWriterImpl.java:100) ~[calcite-core-1.16.0.jar:1.16.0]
>         at org.apache.calcite.rel.externalize.RelWriterImpl.done(RelWriterImpl.java:156) ~[calcite-core-1.16.0.jar:1.16.0]
>         at org.apache.calcite.rel.AbstractRelNode.explain(AbstractRelNode.java:312) ~[calcite-core-1.16.0.jar:1.16.0]
>         at org.apache.calcite.plan.RelOptUtil.toString(RelOptUtil.java:1991) ~[calcite-core-1.16.0.jar:1.16.0]
>         at org.apache.hadoop.hive.ql.parse.CalcitePlanner$CalcitePlannerAction.apply(CalcitePlanner.java:1898) ~[hive-exec-3.0.0.jar:3.0.0-SNAPSHOT]
>         at org.apache.hadoop.hive.ql.parse.CalcitePlanner$CalcitePlannerAction.apply(CalcitePlanner.java:1613) ~[hive-exec-3.0.0.jar:3.0.0-SNAPSHOT]
>         at org.apache.calcite.tools.Frameworks$1.apply(Frameworks.java:118) ~[calcite-core-1.16.0.jar:1.16.0]
>         at org.apache.calcite.prepare.CalcitePrepareImpl.perform(CalcitePrepareImpl.java:1052) ~[calcite-core-1.16.0.jar:1.16.0]
>         at org.apache.calcite.tools.Frameworks.withPrepare(Frameworks.java:154) ~[calcite-core-1.16.0.jar:1.16.0]
>         at org.apache.calcite.tools.Frameworks.withPlanner(Frameworks.java:111) ~[calcite-core-1.16.0.jar:1.16.0]
>         at org.apache.hadoop.hive.ql.parse.CalcitePlanner.logicalPlan(CalcitePlanner.java:1418) ~[hive-exec-3.0.0.jar:3.0.0-SNAPSHOT]
>         at org.apache.hadoop.hive.ql.parse.CalcitePlanner.genLogicalPlan(CalcitePlanner.java:369) ~[hive-exec-3.0.0.jar:3.0.0-SNAPSHOT]
>         at org.apache.hadoop.hive.ql.metadata.HiveMaterializedViewsRegistry.parseQuery(HiveMaterializedViewsRegistry.java:416) ~[hive-exec-3.0.0.jar:3.0.0-SNAPSHOT]
>         at org.apache.hadoop.hive.ql.metadata.HiveMaterializedViewsRegistry.addMaterializedView(HiveMaterializedViewsRegistry.java:225) ~[hive-exec-3.0.0.jar:3.0.0-SNAPSHOT]
>         at org.apache.hadoop.hive.ql.metadata.HiveMaterializedViewsRegistry.createMaterializedView(HiveMaterializedViewsRegistry.java:188) ~[hive-exec-3.0.0.jar:3.0.0-SNAPSHOT]
>         at org.apache.hadoop.hive.ql.exec.MaterializedViewTask.execute(MaterializedViewTask.java:61) ~[hive-exec-3.0.0.jar:3.0.0-SNAPSHOT]
>         at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:205) ~[hive-exec-3.0.0.jar:3.0.0-SNAPSHOT]
>         at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:97) ~[hive-exec-3.0.0.jar:3.0.0-SNAPSHOT]
>         at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:2479) ~[hive-exec-3.0.0.jar:3.0.0-SNAPSHOT]
>         at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:2150) ~[hive-exec-3.0.0.jar:3.0.0-SNAPSHOT]
>         at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1826) ~[hive-exec-3.0.0.jar:3.0.0-SNAPSHOT]
>         at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1567) ~[hive-exec-3.0.0.jar:3.0.0-SNAPSHOT]
>         at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1561) ~[hive-exec-3.0.0.jar:3.0.0-SNAPSHOT]
>         at org.apache.hadoop.hive.ql.reexec.ReExecDriver.run(ReExecDriver.java:157) ~[hive-exec-3.0.0.jar:3.0.0-SNAPSHOT]
>         at org.apache.hive.service.cli.operation.SQLOperation.runQuery(SQLOperation.java:221) ~[hive-service-3.0.0.jar:3.0.0]
>         at org.apache.hive.service.cli.operation.SQLOperation.access$700(SQLOperation.java:87) ~[hive-service-3.0.0.jar:3.0.0]
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)