| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 | --:api: rethrottle:request: RethrottleRequest:response: ListTasksResponse--[id="{upid}-{api}"]=== Rethrottle API[id="{upid}-{api}-request"]==== Rethrottle RequestA +{request}+ can be used to change the current throttling on a runningreindex, update-by-query or delete-by-query task or to disable throttling ofthe task entirely. It requires the task Id of the task to change.In its simplest form, you can use it to disable throttling of a runningtask using the following:["source","java",subs="attributes,callouts,macros"]--------------------------------------------------include-tagged::{doc-tests-file}[{api}-disable-request]--------------------------------------------------<1> Create a +{request}+ that disables throttling for a specific task idBy providing a `requestsPerSecond` argument, the request will change theexisting task throttling to the specified value:["source","java",subs="attributes,callouts,macros"]--------------------------------------------------include-tagged::{doc-tests-file}[{api}-request]--------------------------------------------------<1> Request to change the throttling of a task to 100 requests per secondThe rethrottling request can be executed by using one of the three appropriatemethods depending on whether a reindex, update-by-query or delete-by-query taskshould be rethrottled:["source","java",subs="attributes,callouts,macros"]--------------------------------------------------include-tagged::{doc-tests-file}[{api}-request-execution]--------------------------------------------------<1> Execute reindex rethrottling request<2> The same for update-by-query<3> The same for delete-by-query[id="{upid}-{api}-async"]==== Asynchronous ExecutionThe asynchronous execution of a rethrottle request requires both the +{request}+instance and an `ActionListener` instance to be passed to the asynchronousmethod:["source","java",subs="attributes,callouts,macros"]--------------------------------------------------include-tagged::{doc-tests-file}[{api}-execute-async]--------------------------------------------------<1> Execute reindex rethrottling asynchronously<2> The same for update-by-query<3> The same for delete-by-queryThe asynchronous method does not block and returns immediately.Once it is completed the `ActionListener` is called back using the `onResponse` methodif the execution successfully completed or using the `onFailure` method ifit failed. A typical listener looks like this:["source","java",subs="attributes,callouts,macros"]--------------------------------------------------include-tagged::{doc-tests-file}[{api}-request-async-listener]--------------------------------------------------<1> Code executed when the request is successfully completed<2> Code executed when the request fails with an exception[id="{upid}-{api}-response"]==== Rethrottle ResponseRethrottling returns the task that has been rethrottled in the form of a+{response}+. The structure of this response object is described in detailin <<java-rest-high-cluster-list-tasks-response,this section>>.
 |