Details
-
Improvement
-
Status: Open
-
Minor
-
Resolution: Unresolved
-
1.8.0
-
None
-
None
Description
Consider the storage plugin defined in DRILL-5432 for reading pcap files. The plugin would like to define an out-of-the-box plugin configuration.
Drill's current mechanism for providing initial plugin definitions is the bootstrap-storage-plugin.json file. However, only one such file can exist in the class path.
To add an initial configuration for a custom extension, the extension writer must modify the Drill core file. The bootstrap-storage-plugin.json file uses Jackson serialization. Because the format plugin is external to the core, serialization cannot find the required classes and Drill suffers from a JsonMappingException.
A solution is to allow each plugin to define a bootstrap-storage-plugin.json file, and for the bootstrap mechanism to load the file associated with each plugin, whether that plugin is part of the Drill core, a "contrib" plugin, or a user-defined plugin.