mirror of
https://github.com/elastic/elasticsearch.git
synced 2025-06-28 09:28:55 -04:00
Today subclasses of `HandledTransportAction` can specify the executor on which they run, but the executor is optional and if omitted will use `DIRECT_EXECUTOR_SERVICE`, which means the action runs on a transport thread. This is a dangerous default behaviour because it makes it easy to add new transport actions which implicitly run on a network thread, which is very hard to pick up in reviews. This commit makes the executor explicit in all callers, and marks the dangerous methods for removal. |
||
---|---|---|
.. | ||
src/main/java/org/elasticsearch/plugin/noop | ||
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