While generally Drill has been getting more and more stable with the last few releases, sometimes users need to downgrade for a variety of reasons. Currently we have Jackson configured to strictly expect only the current version of a storage or format plugin configuration.
Here is a recent example of a user who ran into this issue: https://issues.apache.org/jira/browse/DRILL-4231 I think we should either catch errors like this and suggest that users check their configuration stored in zookeeper, or in the /tmp/ directory if running in embedded mode. Another possible change that could be made to help mitigate this issue going forward is to change the Jackson configuration to ignore unrecognized fields in the configuration file. As we will be adding additional configuration options as we try to accommodate more diverse use cases I think this could be a small but useful change. Are there any downsides to changing the behavior in this way? The one I can think is that someone that would update a configuration after a downgrade would lose their changes to any new properties from the previously installed newer version. Considering the behavior currently requires blowing away the configuration to allow Drill to start up after a downgrade, this doesn't seem like much of an issue. Thoughts welcome, I'll open a JIRA if there is no opposition.
