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)