You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "Paul Rogers (Jira)" <ji...@apache.org> on 2020/01/31 00:44:00 UTC
[jira] [Created] (DRILL-7555) Standardize Jackson ObjectMapper
usage
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)