Stop rollup job API
editStop rollup job API
editThis functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.
This API stops an existing, started rollup job. If the job does not exist an exception will be thrown. Stopping an already stopped job has no action.
Request
editPOST _rollup/job/<job_id>/_stop
Path Parameters
edit-
job_id
(required) - (string) Identifier for the job
Query Parameters
edit-
wait_for_completion
(optional) -
(boolean) if set to true, causes the API to block until the indexer state completely stops. If set to false, the
API returns immediately and the indexer will be stopped asynchronously in the background. Defaults to
false
. -
timeout
(optional) -
(TimeValue) if
wait_for_completion=true
, the API will block for (at maximum) the specified duration while waiting for the job to stop. If more thantimeout
time has passed, the API will throw a timeout exception. Note: even if a timeout exception is thrown, the stop request is still processing and will eventually move the job toSTOPPED
. The timeout simply means the API call itself timed out while waiting for the status change. Defaults to30s
Request Body
editThere is no request body for the Stop Job API.
Authorization
editYou must have manage
or manage_rollup
cluster privileges to use this API.
For more information, see
Security Privileges.
Examples
editIf we have an already-started rollup job named sensor
, it can be stopped with:
POST _rollup/job/sensor/_stop
Which will return the response:
{ "stopped": true }
If however we try to stop a job which doesn’t exist:
POST _rollup/job/does_not_exist/_stop
A 404 resource_not_found
exception will be thrown:
{ "error" : { "root_cause" : [ { "type" : "resource_not_found_exception", "reason" : "Task for Rollup Job [does_not_exist] not found", "stack_trace": ... } ], "type" : "resource_not_found_exception", "reason" : "Task for Rollup Job [does_not_exist] not found", "stack_trace": ... }, "status": 404 }
Waiting for the job to stop
editSince only a stopped job can be deleted, it can be useful to block the StopJob API until the indexer has fully
stopped. This is accomplished with the wait_for_completion
query parameter, and optionally a timeout
:
POST _rollup/job/sensor/_stop?wait_for_completion=true&timeout=10s
The parameter will block the API call from returning until either the job has moved to STOPPED
, or the specified
time has elapsed. If the specified time elapses without the job moving to STOPPED
, a timeout exception will be thrown.
If wait_for_completion=true
is specified without a timeout
, a default timeout of 30 seconds is used.