Skip to content

[FEATURE] Deconflict settings registration to prevent name conflicts #142

@dbwiddis

Description

@dbwiddis

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    discussenhancementNew feature or requestquestionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions