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)

Reply via email to