You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We currently allow creating modules per node, per index, and per shard. It is unclear if any plugins actually use this, or conceivably need it (see #13034 (comment)).
There are two reasons for modules:
Some extension points require constructing a class which gets an injected existing service to add custom functionality (for example, adding custom mapping types). This is being fixed by moving all extension points to be handled through existing modules.
To create a new service, the new service must be bound in a module, and then returned with nodeServices(), indexServices() or shardServices().
We should simplify the latter, and in general think how we could provide the ability to add services without injection. IMO this would mean clearly defining what services each type of extension has access to. For example, discovery plugins probably need access to NetworkService, but do they really need to be allowed to grab RepositoryService in their ctor?
The text was updated successfully, but these errors were encountered:
We currently allow creating modules per node, per index, and per shard. It is unclear if any plugins actually use this, or conceivably need it (see #13034 (comment)).
There are two reasons for modules:
nodeServices()
,indexServices()
orshardServices()
.We should simplify the latter, and in general think how we could provide the ability to add services without injection. IMO this would mean clearly defining what services each type of extension has access to. For example, discovery plugins probably need access to NetworkService, but do they really need to be allowed to grab RepositoryService in their ctor?
The text was updated successfully, but these errors were encountered: