Laurent Goujon created ARROW-15192:
--------------------------------------

             Summary: Allow use of Jackson 2.12 or higher
                 Key: ARROW-15192
                 URL: https://issues.apache.org/jira/browse/ARROW-15192
             Project: Apache Arrow
          Issue Type: Improvement
          Components: Java
            Reporter: Laurent Goujon


Since Jackson 2.12, serializers/deserializers for java.time.* are not enabled 
by default and need to be enabled back by adding the jackson jsr310 optional 
module.

As the ObjectMapper instances used by json classes in the vector module do not 
include the extra jackson module, this precludes Arrow vector library to be 
used with Jackson 2.12 or higher.

Here's an example of the error generated by Arrow when used with Jackson 2.12:
{noformat}
java.lang.IllegalStateException: Cannot serialize hash map to JSON string
        at 
org.apache.arrow.vector.ipc.TestJSONFile.testWriteReadComplexJSON(TestJSONFile.java:125)
Caused by: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Java 
8 date/time type `java.time.LocalDateTime` not supported by default: add Module 
"com.fasterxml.jackson.datatype:jackson-datatype-jsr310" to enable handling 
(through reference chain: 
org.apache.arrow.vector.util.JsonStringHashMap["timestamp"])
        at 
org.apache.arrow.vector.ipc.TestJSONFile.testWriteReadComplexJSON(TestJSONFile.java:125)
{noformat}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to