-
Notifications
You must be signed in to change notification settings - Fork 62
[FEATURE] Deconflict settings registration to prevent name conflicts #142
Description
Is your feature request related to a problem?
As part of OS #4519, settings can be registered from extensions in OpenSearch.
Unlike the plugin ecosystem where we have a small number of plugins with known extensions, there could be thousands of extensions, possibly different ones in the same space. Similar to REST requests, we need to make sure competing settings don't overwrite each other by ensuring uniqueness.
What solution would you like?
One possibility is using the extension's uniqueId. This requires modifying the incoming settings name string. However, there are also some constraints on names, e.g., Index Scoped Settings must begin with index.. The dot notation also has meaning for grouping settings. There are probably others.
Another possibility is using package naming (reverse DNS) as part of registered settings names. The advantage of this approach is that no additional code changes are required. We can consider adding a validator to ensure the setting name includes the package name of the extension.
What alternatives have you considered?
Reading settings names in from a configuration file at runtime instead of compiling names statically.
Do you have any additional context?
See discussion in #95