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

Fix TestArrowColumnarBatchSerDe test failures in branch-3

    XMLWordPrintableJSON

Details

    Description

      Because of the Jackson version upgrade to 2.12.0 in this commit, there are unit test failure which are related to arrow.

      Stack Trace:

      [ERROR] testMapDTI(org.apache.hadoop.hive.ql.io.arrow.TestArrowColumnarBatchSerDe)  Time elapsed: 0.034 s  <<< ERROR!
      java.lang.IllegalStateException: Cannot serialize array list to JSON string
          at org.apache.arrow.vector.util.JsonStringArrayList.toString(JsonStringArrayList.java:47)
          at java.lang.String.valueOf(String.java:2994)
          at java.lang.StringBuilder.append(StringBuilder.java:137)
          at org.apache.arrow.vector.VectorSchemaRoot.printRow(VectorSchemaRoot.java:128)
          at org.apache.arrow.vector.VectorSchemaRoot.contentToTSVString(VectorSchemaRoot.java:145)
          at org.apache.hadoop.hive.ql.io.arrow.TestArrowColumnarBatchSerDe.serializeAndDeserialize(TestArrowColumnarBatchSerDe.java:242)
          at org.apache.hadoop.hive.ql.io.arrow.TestArrowColumnarBatchSerDe.initAndSerializeAndDeserialize(TestArrowColumnarBatchSerDe.java:204)
          at org.apache.hadoop.hive.ql.io.arrow.TestArrowColumnarBatchSerDe.testMapDTI(TestArrowColumnarBatchSerDe.java:750)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.lang.reflect.Method.invoke(Method.java:498)
          at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
          at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
          at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
          at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
          at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
          at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
          at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
          at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
          at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
          at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
          at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
          at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
          at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
          at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
          at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:365)
          at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:273)
          at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238)
          at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:159)
          at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:379)
          at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:340)
          at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:125)
          at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:413)
      Caused by: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Joda date/time type `org.joda.time.Period` not supported by default: add Module "com.fasterxml.jackson.datatype:jackson-datatype-joda" to enable handling (through reference chain: org.apache.arrow.vector.util.JsonStringArrayList[0]->org.apache.arrow.vector.util.JsonStringHashMap["values"])
          at com.fasterxml.jackson.databind.exc.InvalidDefinitionException.from(InvalidDefinitionException.java:77)
          at com.fasterxml.jackson.databind.SerializerProvider.reportBadDefinition(SerializerProvider.java:1276)
          at com.fasterxml.jackson.databind.ser.impl.UnsupportedTypeSerializer.serialize(UnsupportedTypeSerializer.java:35)
          at com.fasterxml.jackson.databind.ser.std.MapSerializer.serializeFields(MapSerializer.java:808)
          at com.fasterxml.jackson.databind.ser.std.MapSerializer.serializeWithoutTypeInfo(MapSerializer.java:764)
          at com.fasterxml.jackson.databind.ser.std.MapSerializer.serialize(MapSerializer.java:720)
          at com.fasterxml.jackson.databind.ser.std.MapSerializer.serialize(MapSerializer.java:35)
          at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:119)
          at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:79)
          at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:18)
          at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:480)
          at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:319)
          at com.fasterxml.jackson.databind.ObjectMapper._writeValueAndClose(ObjectMapper.java:4485)
          at com.fasterxml.jackson.databind.ObjectMapper.writeValueAsString(ObjectMapper.java:3740)
          at org.apache.arrow.vector.util.JsonStringArrayList.toString(JsonStringArrayList.java:45)
          ... 33 more[INFO]
      [INFO] Results:
      [INFO]
      [ERROR] Errors:
      [ERROR]   TestArrowColumnarBatchSerDe.testListDTI:600->initAndSerializeAndDeserialize:204->serializeAndDeserialize:242 » IllegalState
      [ERROR]   TestArrowColumnarBatchSerDe.testMapDTI:750->initAndSerializeAndDeserialize:204->serializeAndDeserialize:242 » IllegalState
      [ERROR]   TestArrowColumnarBatchSerDe.testStructDTI:664->initAndSerializeAndDeserialize:204->serializeAndDeserialize:242 » IllegalState
      [INFO]
      [ERROR] Tests run: 32, Failures: 0, Errors: 3, Skipped: 0 

       

      How to reproduce this error:

      cd ql; mvn test -Dtest=TestArrowColumnarBatchSerDe 

      Conclusion:

      If we are upgrading Jackson version Arrow version also needs to be updated.

      Attachments

        Issue Links

          Activity

            People

              Aggarwal_Raghav Raghav Aggarwal
              Aggarwal_Raghav Raghav Aggarwal
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 0.5h
                  0.5h