This is an automated email from the ASF dual-hosted git repository.
gian pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-druid.git
The following commit(s) were added to refs/heads/master by this push:
new b0cf8d0 'shutdownAllTasks' API for a dataSource (#6185)
b0cf8d0 is described below
commit b0cf8d02525ee9324de3844c5273b96af6019361
Author: QiuMM <[email protected]>
AuthorDate: Sat Aug 18 00:57:09 2018 +0800
'shutdownAllTasks' API for a dataSource (#6185)
* 'shutdownAllTasks' API for a dataSource
Change-Id: I30d14390457d39e0427d23a48f4f224223dc5777
* fix api path and return
Change-Id: Ib463f31ee2c4cb168cf2697f149be845b57c42e5
* optimize implementation
Change-Id: I50a8dcd44dd9d36c9ecbfa78e103eb9bff32eab9
---
docs/content/operations/api-reference.md | 3 +++
.../indexing/overlord/http/OverlordResource.java | 22 ++++++++++++++++++++++
2 files changed, 25 insertions(+)
diff --git a/docs/content/operations/api-reference.md
b/docs/content/operations/api-reference.md
index d933c4f..a38be3b 100644
--- a/docs/content/operations/api-reference.md
+++ b/docs/content/operations/api-reference.md
@@ -378,6 +378,9 @@ Endpoint for submitting tasks and supervisor specs to the
overlord. Returns the
Shuts down a task.
+* `druid/indexer/v1/task/{dataSource}/shutdownAllTasks`
+
+Shuts down all tasks for a dataSource.
## MiddleManager
diff --git
a/indexing-service/src/main/java/io/druid/indexing/overlord/http/OverlordResource.java
b/indexing-service/src/main/java/io/druid/indexing/overlord/http/OverlordResource.java
index 6eb428c..3425a87 100644
---
a/indexing-service/src/main/java/io/druid/indexing/overlord/http/OverlordResource.java
+++
b/indexing-service/src/main/java/io/druid/indexing/overlord/http/OverlordResource.java
@@ -338,6 +338,28 @@ public class OverlordResource
}
@POST
+ @Path("/task/{dataSource}/shutdownAllTasks")
+ @Produces(MediaType.APPLICATION_JSON)
+ public Response shutdownTasksForDataSource(@PathParam("dataSource") final
String dataSource)
+ {
+ return asLeaderWith(
+ taskMaster.getTaskQueue(),
+ new Function<TaskQueue, Response>()
+ {
+ @Override
+ public Response apply(TaskQueue taskQueue)
+ {
+ final List<TaskInfo<Task, TaskStatus>> tasks =
taskStorageQueryAdapter.getActiveTaskInfo(dataSource);
+ for (final TaskInfo<Task, TaskStatus> task : tasks) {
+ taskQueue.shutdown(task.getId());
+ }
+ return Response.ok(ImmutableMap.of("dataSource",
dataSource)).build();
+ }
+ }
+ );
+ }
+
+ @POST
@Path("/taskStatus")
@Produces(MediaType.APPLICATION_JSON)
@ResourceFilters(StateResourceFilter.class)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]