[ 
https://issues.apache.org/jira/browse/HIVE-26863?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Raghav Aggarwal resolved HIVE-26863.
------------------------------------
    Fix Version/s: Not Applicable
       Resolution: Won't Fix

> 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
>              Labels: pull-request-available
>             Fix For: Not Applicable
>
>          Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> Because of the _*Jackson*_ version upgrade to {_}2.12.0 in this 
> [commit|https://github.com/apache/hive/commit/e9b2acf3fe2d564b1da2b3e637f6748c7db4a613]{_},
>  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)

Reply via email to