6265ef1c1b
There are presently 7 ctor args used in any rest handlers: * `Settings`: Every handler uses it to initialize a logger and some other strange things. * `RestController`: Every handler registers itself with it. * `ClusterSettings`: Used by `RestClusterGetSettingsAction` to render the default values for cluster settings. * `IndexScopedSettings`: Used by `RestGetSettingsAction` to get the default values for index settings. * `SettingsFilter`: Used by a few handlers to filter returned settings so we don't expose stuff like passwords. * `IndexNameExpressionResolver`: Used by `_cat/indices` to filter the list of indices. * `Supplier<DiscoveryNodes>`: Used to fill enrich the response by handlers that list tasks. We probably want to reduce these arguments over time but switching construction away from guice gives us tighter control over the list of available arguments. These parameters are passed to plugins using `ActionPlugin#initRestHandlers` which is expected to build and return that handlers immediately. This felt simpler than returning an reference to the ctors given all the different possible args. Breaks java plugins by moving rest handlers off of guice. |
||
---|---|---|
.. | ||
src/main/java/org/elasticsearch/plugin/noop | ||
README.md | ||
build.gradle |
README.md
Purpose
This plugin provides empty REST and transport endpoints for bulk indexing and search. It is used to avoid accidental server-side bottlenecks in client-side benchmarking.
Build Instructions
Build the plugin with gradle :client:client-benchmark-noop-api-plugin:assemble
from the Elasticsearch root project directory.
Installation Instructions
After, the binary has been built, install it with bin/elasticsearch-plugin install file:///full/path/to/noop-plugin.zip
.
Usage
The plugin provides two REST endpoints:
/_noop_bulk
and all variations that the bulk endpoint provides (except that all no op endpoints are called_noop_bulk
instead of_bulk
)_noop_search
and all variations that the search endpoint provides (except that all no op endpoints are called_noop_search
instead of_search
)
The corresponding transport actions are:
org.elasticsearch.plugin.noop.action.bulk.TransportNoopBulkAction
org.elasticsearch.plugin.noop.action.search.TransportNoopSearchAction