mirror of
https://github.com/elastic/elasticsearch.git
synced 2025-06-29 18:03:32 -04:00
Previously attempting to delete a job that had a datafeed would return an exception. However, this was unnecessarily pedantic - the user would always want to delete both job and datafeed together, and would react by deleting the datafeed and then subsequently deleting the job again. This change makes the delete job API automatically delete a datafeed associated with the job. The same level of force is used for this delete datafeed request as was used on the delete job request. This means that it's possible to force-delete an open job with a started datafeed (since force-delete datafeed will automatically stop a started datafeed). It's still not possible to delete an opened job without using force.
94 lines
2.6 KiB
Text
94 lines
2.6 KiB
Text
[role="xpack"]
|
|
[testenv="platinum"]
|
|
[[ml-delete-job]]
|
|
= Delete {anomaly-jobs} API
|
|
++++
|
|
<titleabbrev>Delete jobs</titleabbrev>
|
|
++++
|
|
|
|
Deletes an existing {anomaly-job}.
|
|
|
|
[[ml-delete-job-request]]
|
|
== {api-request-title}
|
|
|
|
`DELETE _ml/anomaly_detectors/<job_id>`
|
|
|
|
[[ml-delete-job-prereqs]]
|
|
== {api-prereq-title}
|
|
|
|
* Requires the `manage_ml` cluster privilege. This privilege is included in the
|
|
`machine_learning_admin` built-in role.
|
|
* Before you can delete a job, you must close it (unless you specify the `force`
|
|
parameter). See <<ml-close-job>>.
|
|
|
|
[[ml-delete-job-desc]]
|
|
== {api-description-title}
|
|
|
|
All job configuration, model state and results are deleted.
|
|
|
|
IMPORTANT: Deleting an {anomaly-job} must be done via this API only. Do not
|
|
delete the job directly from the `.ml-*` indices using the {es} delete document
|
|
API. When {es} {security-features} are enabled, make sure no `write` privileges
|
|
are granted to anyone over the `.ml-*` indices.
|
|
|
|
It is not currently possible to delete multiple jobs using wildcards or a comma
|
|
separated list.
|
|
|
|
If you delete a job that has a {dfeed}, the request will first attempt to
|
|
delete the {dfeed}, as though <<ml-delete-datafeed>> was called with the same
|
|
`timeout` and `force` parameters as this delete request.
|
|
|
|
[[ml-delete-job-path-parms]]
|
|
== {api-path-parms-title}
|
|
|
|
`<job_id>`::
|
|
(Required, string)
|
|
include::{es-repo-dir}/ml/ml-shared.asciidoc[tag=job-id-anomaly-detection]
|
|
|
|
[[ml-delete-job-query-parms]]
|
|
== {api-query-parms-title}
|
|
|
|
`force`::
|
|
(Optional, Boolean) Use to forcefully delete an opened job; this method is
|
|
quicker than closing and deleting the job.
|
|
|
|
`wait_for_completion`::
|
|
(Optional, Boolean) Specifies whether the request should return immediately or
|
|
wait until the job deletion completes. Defaults to `true`.
|
|
|
|
[[ml-delete-job-example]]
|
|
== {api-examples-title}
|
|
|
|
[source,console]
|
|
--------------------------------------------------
|
|
DELETE _ml/anomaly_detectors/total-requests
|
|
--------------------------------------------------
|
|
// TEST[skip:setup:server_metrics_job]
|
|
|
|
When the job is deleted, you receive the following results:
|
|
|
|
[source,console-result]
|
|
----
|
|
{
|
|
"acknowledged": true
|
|
}
|
|
----
|
|
|
|
In the next example we delete the `total-requests` job asynchronously:
|
|
|
|
[source,console]
|
|
--------------------------------------------------
|
|
DELETE _ml/anomaly_detectors/total-requests?wait_for_completion=false
|
|
--------------------------------------------------
|
|
// TEST[skip:setup:server_metrics_job]
|
|
|
|
When `wait_for_completion` is set to `false`, the response contains the id
|
|
of the job deletion task:
|
|
|
|
[source,console-result]
|
|
----
|
|
{
|
|
"task": "oTUltX4IQMOUUVeiohTt8A:39"
|
|
}
|
|
----
|
|
// TESTRESPONSE[s/"task": "oTUltX4IQMOUUVeiohTt8A:39"/"task": $body.task/]
|