Uploaded image for project: 'Apache Drill'
  1. Apache Drill
  2. DRILL-3290 Hive Storage: Add support for Hive complex types
  3. DRILL-7387

Failed to get value by int key from map nested into struct

    XMLWordPrintableJSON

Details

    Description

      Such test method in TestHiveStructs.java:

        @Test
        public void structWithMapByIntKey() throws Exception {
          testBuilder()
              .sqlQuery("SELECT rid, t.str_map.m[1] bk FROM hive.struct_tbl_p t")
              .unOrdered()
              .baselineColumns("rid", "bk")
              .baselineValues(1, 0)
              .baselineValues(2, 3)
              .baselineValues(3, 4)
              .go();
        }
      

      is failing with exception:

      java.lang.IllegalArgumentException: You tried to read a [RepeatedInt] type when you are using a field reader of type [SingleDictReaderImpl].
      	at org.apache.drill.exec.vector.complex.impl.AbstractFieldReader.fail(AbstractFieldReader.java:989) ~[classes/:na]
      	at org.apache.drill.exec.vector.complex.impl.AbstractFieldReader.read(AbstractFieldReader.java:399) ~[classes/:na]
      	at org.apache.drill.exec.test.generated.ProjectorGen1.doEval(ProjectorTemplate.java:28) ~[na:na]
      	at org.apache.drill.exec.test.generated.ProjectorGen1.projectRecords(ProjectorTemplate.java:67) ~[na:na]
      	at org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.doWork(ProjectRecordBatch.java:229) ~[classes/:na]
      	at org.apache.drill.exec.record.AbstractUnaryRecordBatch.innerNext(AbstractUnaryRecordBatch.java:117) ~[classes/:na]
      	at org.apache.drill.exec.physical.impl.project.ProjectRecordBatch.innerNext(ProjectRecordBatch.java:141) ~[classes/:na]
      	at org.apache.drill.exec.record.AbstractRecordBatch.next(AbstractRecordBatch.java:186) ~[classes/:na]
      	at org.apache.drill.exec.physical.impl.validate.IteratorValidatorBatchIterator.next(IteratorValidatorBatchIterator.java:237) ~[classes/:na]
      	at org.apache.drill.exec.physical.impl.BaseRootExec.next(BaseRootExec.java:104) ~[classes/:na]
      	at org.apache.drill.exec.physical.impl.ScreenCreator$ScreenRoot.innerNext(ScreenCreator.java:83) ~[classes/:na]
      	at org.apache.drill.exec.physical.impl.BaseRootExec.next(BaseRootExec.java:94) ~[classes/:na]
      	at org.apache.drill.exec.work.fragment.FragmentExecutor$1.run(FragmentExecutor.java:296) ~[classes/:na]
      	at org.apache.drill.exec.work.fragment.FragmentExecutor$1.run(FragmentExecutor.java:283) ~[classes/:na]
      	at .......(:0) ~[na:na]
      	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1746) ~[hadoop-common-2.7.4.jar:na]
      	at org.apache.drill.exec.work.fragment.FragmentExecutor.run(FragmentExecutor.java:283) ~[classes/:na]
      	at org.apache.drill.common.SelfCleaningRunnable.run(SelfCleaningRunnable.java:38) ~[classes/:na]
      	at .......(:0) ~[na:na]
      

      Attachments

        Issue Links

          Activity

            People

              ihuzenko Igor Guzenko
              ihuzenko Igor Guzenko
              Bohdan Kazydub Bohdan Kazydub
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: