Paul Rogers created DRILL-7555:
----------------------------------
Summary: Standardize Jackson ObjectMapper usage
Key: DRILL-7555
URL: https://issues.apache.org/jira/browse/DRILL-7555
Project: Apache Drill
Issue Type: Improvement
Reporter: Paul Rogers
Drill makes heavy use of Jackson to serialize Java objects to/from JSON. Drill
has added multiple custom serializers. See theĀ {{PhysicalPlanReader}}
constuctor for a list of these.
However, many modules in Drill declare their own {{ObjectMapper}} instances,
often without some (or all) of the custom Drill mappers. This is tedious and
error-prone.
We should:
* Define a standard Drill object mappper.
* Replace all ad-hoc instances of {{ObjectMapper}} with the Drill version (when
reading/writing Drill-defined JSON).
Further, storage plugins need an {{ObjectMapper}} to convert a scan spec from
JSON to Java. (It is not clear why we do this serialization, or if it is
needed, but that is how things work at present.) Plugins don't have access to
any of the "full feature" object mappers: each plugin would have to cobble
together the serdes it needs.
So, after standardizing the object mappers, pass in an instance of that
standard mapper to the storage plugin.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)