[ https://issues.apache.org/jira/browse/HIVE-26863?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Raghav Aggarwal updated HIVE-26863: ----------------------------------- Summary: Fix TestArrowColumnarBatchSerDe test failures in branch-3.1 (was: Fix test failures in branch-3.1 related to Arrow because of Jackson Version Upgrade ) > Fix TestArrowColumnarBatchSerDe test failures in branch-3.1 > ----------------------------------------------------------- > > Key: HIVE-26863 > URL: https://issues.apache.org/jira/browse/HIVE-26863 > Project: Hive > Issue Type: Bug > Affects Versions: 3.1.3 > Reporter: Raghav Aggarwal > Assignee: Raghav Aggarwal > Priority: Major > > Because of the _*Jackson*_ version upgrade to {_}2.12.0{_}, there are unit > test failure which are related to {_}*arrow*{_}. > > *Stack Trace:* > > {code:java} > [ERROR] > testMapDTI(org.apache.hadoop.hive.ql.io.arrow.TestArrowColumnarBatchSerDe) > Time elapsed: 0.037 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{code} > > *How to reproduce this error:* > > {code:java} > cd ql; mvn test -Dtest=TestArrowColumnarBatchSerDe{code} > > *After Reverting Jackson version to 2.10.0* > {code:java} > [INFO] ------------------------------------------------------- > [INFO] T E S T S > [INFO] ------------------------------------------------------- > [INFO] Running org.apache.hadoop.hive.ql.io.arrow.TestArrowColumnarBatchSerDe > [INFO] Tests run: 32, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 3.841 > s - in org.apache.hadoop.hive.ql.io.arrow.TestArrowColumnarBatchSerDe > [INFO] > [INFO] Results: > [INFO] > [INFO] Tests run: 32, Failures: 0, Errors: 0, Skipped: 0 > [INFO] > [INFO] > ------------------------------------------------------------------------ > [INFO] BUILD SUCCESS > [INFO] > ------------------------------------------------------------------------ > [INFO] Total time: 01:26 min > [INFO] Finished at: 2022-12-15T22:16:21+05:30 > [INFO] > ------------------------------------------------------------------------ > {code} > *Conclusion:* > If we are upgrading Jackson version Arrow version also needs to be updated. > > -- This message was sent by Atlassian Jira (v8.20.10#820010)