Skip to content

[META] Add ability to add/update/remove an extension without restarting OpenSearch #356

@dbwiddis

Description

@dbwiddis

Is your feature request related to a problem?

One of the goals of extensibility is the ability to add/update/remove an extension without restarting the OpenSearch node.

From #2447:

What would the customer like to see/use:
c. Install/Update/Remove an extension without restarting OpenSearch.

Present design does not permit this:

  • The extension discovery mechanism requires extensions to already be up and running before OpenSearch is started
  • There is no mechanism to retry a failed connection, or to periodically poll an extension to ensure it is responsive
  • Many of the modules associated with plugins assume a one-time initialization at startup with final, immutable data structures
  • Other modules and data structures permit additive registration (e.g, the RestController, Settings, XContent) but do not permit "unregistering"
    • This problem will only get bigger when we add more extension points

What solution would you like?

What alternatives have you considered?

Creating an external process that manages the extensions (an extension managing extensions!)

Do you have any additional context?

Previously mentioned in #174

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions