Uploaded image for project: 'Hive'
  1. Hive
  2. HIVE-19771

allowNullColumnForMissingStats should not be false when column stats are estimated

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 3.0.0
    • 3.1.0
    • CBO
    • None

    Description

      Otherwise we may throw an Exception.

      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]
      

      Attachments

        1. HIVE-19771.01.patch
          5 kB
          jcamachorodriguez
        2. HIVE-19771.02.patch
          5 kB
          jcamachorodriguez
        3. HIVE-19771.03.patch
          5 kB
          jcamachorodriguez
        4. HIVE-19771.04.patch
          5 kB
          jcamachorodriguez
        5. HIVE-19771.patch
          5 kB
          jcamachorodriguez

        Activity

          People

            jcamacho Jesús Camacho Rodríguez
            jcamacho Jesús Camacho Rodríguez
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: