-
Notifications
You must be signed in to change notification settings - Fork 14
Description
The Problem:
Over years of development, many cuttlefish schemas have accumulated baggage as configuration values become meaningless.
These schemas include numerous configuration keys that serve no purpose other than to allow deployed .conf files to be consumed without generating errors. With no easy way to flag these keys for removal, they simply accumulate, to the point that some schema files have more mapping elements accommodating oudated keys than for relevant ones.
This is most pronounced as projects transition from lager to logger and as VM options are removed (-smp, +K, etc).
Proposal(s):
One or two new mapping attribute definitions could cause a warning to be logged to help system operators start to clean out some of these old, unused keys with the eventual goal of removing the schema mappings altogether.
Attribute ignored:
Logs a warning that the key is no longer relevant and should be removed from the .conf file.
No value is written to the app.config/vm.args file.
Attribute {deprecated, Msg :: string()}:
Behavior as for ignored, but include Msg in a logged deprecation warning.
Example: Msg = "Will be removed in Riak 3.4"
My thoughts on this may not be fully formed, hence trowing it out here for feedback.
As an aside,
cuttlefish/priv/erlang_vm.schemacould benefit from anignoreattribute (-smp,+K)