This is an automated email from the ASF dual-hosted git repository.

kfaraz pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/druid.git


The following commit(s) were added to refs/heads/master by this push:
     new 89066b72cfe Fix bug in TaskStorageQueryAdapter (#16750)
89066b72cfe is described below

commit 89066b72cfe73ff1f6f7fb31d4cb2d4ff29d2489
Author: Kashif Faraz <kashif.fa...@gmail.com>
AuthorDate: Wed Jul 17 10:47:41 2024 -0700

    Fix bug in TaskStorageQueryAdapter (#16750)
    
    Changes:
    - Do not hold a reference to `TaskQueue` in `TaskStorageQueryAdapter`
    - Use `TaskStorage` instead of `TaskStorageQueryAdapter` in 
`IndexerMetadataStorageAdapter`
    - Rename `TaskStorageQueryAdapter` to `TaskQueryTool`
    - Fix newly added task actions `RetrieveUpgradedFromSegmentIds` and 
`RetrieveUpgradedToSegmentIds`
    by removing `isAudited` method.
---
 .../RetrieveUpgradedFromSegmentIdsAction.java      |  6 --
 .../RetrieveUpgradedToSegmentIdsAction.java        |  6 --
 .../overlord/IndexerMetadataStorageAdapter.java    | 11 ++--
 ...StorageQueryAdapter.java => TaskQueryTool.java} | 32 +++++-----
 .../indexing/overlord/http/OverlordResource.java   | 22 +++----
 .../overlord/http/security/TaskResourceFilter.java | 10 +--
 .../IndexerMetadataStorageAdapterTest.java         | 21 ++++---
 .../druid/indexing/overlord/TaskLifecycleTest.java |  4 +-
 .../overlord/http/OverlordResourceTest.java        | 72 +++++++++++++---------
 .../druid/indexing/overlord/http/OverlordTest.java |  8 +--
 .../OverlordSecurityResourceFilterTest.java        |  8 +--
 .../http/security/TaskResourceFilterTest.java      | 14 ++---
 .../java/org/apache/druid/metadata/TaskLookup.java |  5 ++
 .../org/apache/druid/metadata/TaskLookupTest.java  |  2 +-
 .../java/org/apache/druid/cli/CliOverlord.java     |  4 +-
 15 files changed, 116 insertions(+), 109 deletions(-)

diff --git 
a/indexing-service/src/main/java/org/apache/druid/indexing/common/actions/RetrieveUpgradedFromSegmentIdsAction.java
 
b/indexing-service/src/main/java/org/apache/druid/indexing/common/actions/RetrieveUpgradedFromSegmentIdsAction.java
index 67f7ae6e131..4f54131dee6 100644
--- 
a/indexing-service/src/main/java/org/apache/druid/indexing/common/actions/RetrieveUpgradedFromSegmentIdsAction.java
+++ 
b/indexing-service/src/main/java/org/apache/druid/indexing/common/actions/RetrieveUpgradedFromSegmentIdsAction.java
@@ -73,12 +73,6 @@ public class RetrieveUpgradedFromSegmentIdsAction implements 
TaskAction<Upgraded
     );
   }
 
-  @Override
-  public boolean isAudited()
-  {
-    return false;
-  }
-
   @Override
   public String toString()
   {
diff --git 
a/indexing-service/src/main/java/org/apache/druid/indexing/common/actions/RetrieveUpgradedToSegmentIdsAction.java
 
b/indexing-service/src/main/java/org/apache/druid/indexing/common/actions/RetrieveUpgradedToSegmentIdsAction.java
index 412c9604d11..256a663a1a4 100644
--- 
a/indexing-service/src/main/java/org/apache/druid/indexing/common/actions/RetrieveUpgradedToSegmentIdsAction.java
+++ 
b/indexing-service/src/main/java/org/apache/druid/indexing/common/actions/RetrieveUpgradedToSegmentIdsAction.java
@@ -78,12 +78,6 @@ public class RetrieveUpgradedToSegmentIdsAction implements 
TaskAction<UpgradedTo
     );
   }
 
-  @Override
-  public boolean isAudited()
-  {
-    return false;
-  }
-
   @Override
   public String toString()
   {
diff --git 
a/indexing-service/src/main/java/org/apache/druid/indexing/overlord/IndexerMetadataStorageAdapter.java
 
b/indexing-service/src/main/java/org/apache/druid/indexing/overlord/IndexerMetadataStorageAdapter.java
index 6d23fcec327..c3e498aa18f 100644
--- 
a/indexing-service/src/main/java/org/apache/druid/indexing/overlord/IndexerMetadataStorageAdapter.java
+++ 
b/indexing-service/src/main/java/org/apache/druid/indexing/overlord/IndexerMetadataStorageAdapter.java
@@ -25,6 +25,7 @@ import org.apache.druid.indexer.TaskInfo;
 import org.apache.druid.indexer.TaskStatus;
 import org.apache.druid.indexing.common.task.Task;
 import org.apache.druid.java.util.common.DateTimes;
+import org.apache.druid.metadata.TaskLookup;
 import org.joda.time.Interval;
 
 import java.util.Comparator;
@@ -32,16 +33,16 @@ import java.util.Optional;
 
 public class IndexerMetadataStorageAdapter
 {
-  private final TaskStorageQueryAdapter taskStorageQueryAdapter;
+  private final TaskStorage taskStorage;
   private final IndexerMetadataStorageCoordinator 
indexerMetadataStorageCoordinator;
 
   @Inject
   public IndexerMetadataStorageAdapter(
-      TaskStorageQueryAdapter taskStorageQueryAdapter,
+      TaskStorage taskStorage,
       IndexerMetadataStorageCoordinator indexerMetadataStorageCoordinator
   )
   {
-    this.taskStorageQueryAdapter = taskStorageQueryAdapter;
+    this.taskStorage = taskStorage;
     this.indexerMetadataStorageCoordinator = indexerMetadataStorageCoordinator;
   }
 
@@ -49,8 +50,8 @@ public class IndexerMetadataStorageAdapter
   {
     // Find the earliest active task created for the specified datasource; if 
one exists,
     // check if its interval overlaps with the delete interval.
-    final Optional<TaskInfo<Task, TaskStatus>> earliestActiveTaskOptional = 
taskStorageQueryAdapter
-        .getActiveTaskInfo(dataSource)
+    final Optional<TaskInfo<Task, TaskStatus>> earliestActiveTaskOptional = 
taskStorage
+        .getTaskInfos(TaskLookup.activeTasksOnly(), dataSource)
         .stream()
         .min(Comparator.comparing(TaskInfo::getCreatedTime));
 
diff --git 
a/indexing-service/src/main/java/org/apache/druid/indexing/overlord/TaskStorageQueryAdapter.java
 
b/indexing-service/src/main/java/org/apache/druid/indexing/overlord/TaskQueryTool.java
similarity index 81%
rename from 
indexing-service/src/main/java/org/apache/druid/indexing/overlord/TaskStorageQueryAdapter.java
rename to 
indexing-service/src/main/java/org/apache/druid/indexing/overlord/TaskQueryTool.java
index 8a454f5a231..29ca16f5aa9 100644
--- 
a/indexing-service/src/main/java/org/apache/druid/indexing/overlord/TaskStorageQueryAdapter.java
+++ 
b/indexing-service/src/main/java/org/apache/druid/indexing/overlord/TaskQueryTool.java
@@ -27,7 +27,6 @@ import org.apache.druid.indexer.TaskStatusPlus;
 import org.apache.druid.indexing.common.task.Task;
 import org.apache.druid.metadata.LockFilterPolicy;
 import org.apache.druid.metadata.TaskLookup;
-import org.apache.druid.metadata.TaskLookup.ActiveTaskLookup;
 import org.apache.druid.metadata.TaskLookup.TaskLookupType;
 import org.joda.time.Interval;
 
@@ -36,25 +35,23 @@ import java.util.List;
 import java.util.Map;
 
 /**
- * Wraps a {@link TaskStorage}, providing a useful collection of read-only 
methods.
+ * Provides read-only methods to fetch information related to tasks.
+ * This class may serve information that is cached in memory in {@link 
TaskQueue}
+ * or {@link TaskLockbox}. If not present in memory, then the underlying
+ * {@link TaskStorage} is queried.
  */
-public class TaskStorageQueryAdapter
+public class TaskQueryTool
 {
   private final TaskStorage storage;
   private final TaskLockbox taskLockbox;
-  private final Optional<TaskQueue> taskQueue;
+  private final TaskMaster taskMaster;
 
   @Inject
-  public TaskStorageQueryAdapter(TaskStorage storage, TaskLockbox taskLockbox, 
TaskMaster taskMaster)
+  public TaskQueryTool(TaskStorage storage, TaskLockbox taskLockbox, 
TaskMaster taskMaster)
   {
     this.storage = storage;
     this.taskLockbox = taskLockbox;
-    this.taskQueue = taskMaster.getTaskQueue();
-  }
-
-  public List<Task> getActiveTasks()
-  {
-    return storage.getActiveTasks();
+    this.taskMaster = taskMaster;
   }
 
   /**
@@ -85,7 +82,7 @@ public class TaskStorageQueryAdapter
   public List<TaskInfo<Task, TaskStatus>> getActiveTaskInfo(@Nullable String 
dataSource)
   {
     return storage.getTaskInfos(
-        ActiveTaskLookup.getInstance(),
+        TaskLookup.activeTasksOnly(),
         dataSource
     );
   }
@@ -98,20 +95,21 @@ public class TaskStorageQueryAdapter
     return storage.getTaskStatusPlusList(taskLookups, dataSource);
   }
 
-  public Optional<Task> getTask(final String taskid)
+  public Optional<Task> getTask(final String taskId)
   {
+    final Optional<TaskQueue> taskQueue = taskMaster.getTaskQueue();
     if (taskQueue.isPresent()) {
-      Optional<Task> activeTask = taskQueue.get().getActiveTask(taskid);
+      Optional<Task> activeTask = taskQueue.get().getActiveTask(taskId);
       if (activeTask.isPresent()) {
         return activeTask;
       }
     }
-    return storage.getTask(taskid);
+    return storage.getTask(taskId);
   }
 
-  public Optional<TaskStatus> getStatus(final String taskid)
+  public Optional<TaskStatus> getStatus(final String taskId)
   {
-    return storage.getStatus(taskid);
+    return storage.getStatus(taskId);
   }
 
   @Nullable
diff --git 
a/indexing-service/src/main/java/org/apache/druid/indexing/overlord/http/OverlordResource.java
 
b/indexing-service/src/main/java/org/apache/druid/indexing/overlord/http/OverlordResource.java
index 07155f00462..f945cc95c1e 100644
--- 
a/indexing-service/src/main/java/org/apache/druid/indexing/overlord/http/OverlordResource.java
+++ 
b/indexing-service/src/main/java/org/apache/druid/indexing/overlord/http/OverlordResource.java
@@ -47,10 +47,10 @@ import org.apache.druid.indexing.common.task.Task;
 import org.apache.druid.indexing.overlord.ImmutableWorkerInfo;
 import org.apache.druid.indexing.overlord.IndexerMetadataStorageAdapter;
 import org.apache.druid.indexing.overlord.TaskMaster;
+import org.apache.druid.indexing.overlord.TaskQueryTool;
 import org.apache.druid.indexing.overlord.TaskQueue;
 import org.apache.druid.indexing.overlord.TaskRunner;
 import org.apache.druid.indexing.overlord.TaskRunnerWorkItem;
-import org.apache.druid.indexing.overlord.TaskStorageQueryAdapter;
 import org.apache.druid.indexing.overlord.WorkerTaskRunner;
 import org.apache.druid.indexing.overlord.WorkerTaskRunnerQueryAdapter;
 import org.apache.druid.indexing.overlord.autoscaling.ProvisioningStrategy;
@@ -125,7 +125,7 @@ public class OverlordResource
   private static final Logger log = new Logger(OverlordResource.class);
 
   private final TaskMaster taskMaster;
-  private final TaskStorageQueryAdapter taskStorageQueryAdapter;
+  private final TaskQueryTool taskQueryTool;
   private final IndexerMetadataStorageAdapter indexerMetadataStorageAdapter;
   private final TaskLogStreamer taskLogStreamer;
   private final JacksonConfigManager configManager;
@@ -162,7 +162,7 @@ public class OverlordResource
   @Inject
   public OverlordResource(
       TaskMaster taskMaster,
-      TaskStorageQueryAdapter taskStorageQueryAdapter,
+      TaskQueryTool taskQueryTool,
       IndexerMetadataStorageAdapter indexerMetadataStorageAdapter,
       TaskLogStreamer taskLogStreamer,
       JacksonConfigManager configManager,
@@ -174,7 +174,7 @@ public class OverlordResource
   )
   {
     this.taskMaster = taskMaster;
-    this.taskStorageQueryAdapter = taskStorageQueryAdapter;
+    this.taskQueryTool = taskQueryTool;
     this.indexerMetadataStorageAdapter = indexerMetadataStorageAdapter;
     this.taskLogStreamer = taskLogStreamer;
     this.configManager = configManager;
@@ -284,7 +284,7 @@ public class OverlordResource
     }
 
     // Build the response
-    return 
Response.ok(taskStorageQueryAdapter.getLockedIntervals(minTaskPriority)).build();
+    return 
Response.ok(taskQueryTool.getLockedIntervals(minTaskPriority)).build();
   }
 
   @POST
@@ -298,7 +298,7 @@ public class OverlordResource
     }
 
     // Build the response
-    return 
Response.ok(taskStorageQueryAdapter.getLockedIntervals(lockFilterPolicies)).build();
+    return 
Response.ok(taskQueryTool.getLockedIntervals(lockFilterPolicies)).build();
   }
 
   @GET
@@ -309,7 +309,7 @@ public class OverlordResource
   {
     final TaskPayloadResponse response = new TaskPayloadResponse(
         taskid,
-        taskStorageQueryAdapter.getTask(taskid).orNull()
+        taskQueryTool.getTask(taskid).orNull()
     );
 
     final Response.Status status = response.getPayload() == null
@@ -325,7 +325,7 @@ public class OverlordResource
   @ResourceFilters(TaskResourceFilter.class)
   public Response getTaskStatus(@PathParam("taskid") String taskid)
   {
-    final TaskInfo<Task, TaskStatus> taskInfo = 
taskStorageQueryAdapter.getTaskInfo(taskid);
+    final TaskInfo<Task, TaskStatus> taskInfo = 
taskQueryTool.getTaskInfo(taskid);
     TaskStatusResponse response = null;
 
     if (taskInfo != null) {
@@ -440,7 +440,7 @@ public class OverlordResource
           @Override
           public Response apply(TaskQueue taskQueue)
           {
-            final List<TaskInfo<Task, TaskStatus>> tasks = 
taskStorageQueryAdapter.getActiveTaskInfo(dataSource);
+            final List<TaskInfo<Task, TaskStatus>> tasks = 
taskQueryTool.getActiveTaskInfo(dataSource);
             if (tasks.isEmpty()) {
               return Response.status(Status.NOT_FOUND).build();
             } else {
@@ -471,7 +471,7 @@ public class OverlordResource
       if (taskQueue.isPresent()) {
         optional = taskQueue.get().getTaskStatus(taskId);
       } else {
-        optional = taskStorageQueryAdapter.getStatus(taskId);
+        optional = taskQueryTool.getStatus(taskId);
       }
       if (optional.isPresent()) {
         result.put(taskId, optional.get());
@@ -866,7 +866,7 @@ public class OverlordResource
         throw new IAE("Unknown state: [%s]", state);
     }
 
-    final Stream<TaskStatusPlus> taskStatusPlusStream = 
taskStorageQueryAdapter.getTaskStatusPlusList(
+    final Stream<TaskStatusPlus> taskStatusPlusStream = 
taskQueryTool.getTaskStatusPlusList(
         taskLookups,
         dataSource
     ).stream();
diff --git 
a/indexing-service/src/main/java/org/apache/druid/indexing/overlord/http/security/TaskResourceFilter.java
 
b/indexing-service/src/main/java/org/apache/druid/indexing/overlord/http/security/TaskResourceFilter.java
index ad1f526eda6..a9f66ce30e7 100644
--- 
a/indexing-service/src/main/java/org/apache/druid/indexing/overlord/http/security/TaskResourceFilter.java
+++ 
b/indexing-service/src/main/java/org/apache/druid/indexing/overlord/http/security/TaskResourceFilter.java
@@ -26,7 +26,7 @@ import com.google.inject.Inject;
 import com.sun.jersey.spi.container.ContainerRequest;
 import org.apache.druid.common.utils.IdUtils;
 import org.apache.druid.indexing.common.task.Task;
-import org.apache.druid.indexing.overlord.TaskStorageQueryAdapter;
+import org.apache.druid.indexing.overlord.TaskQueryTool;
 import org.apache.druid.java.util.common.StringUtils;
 import org.apache.druid.server.http.security.AbstractResourceFilter;
 import org.apache.druid.server.security.Access;
@@ -49,16 +49,16 @@ import javax.ws.rs.core.Response;
  */
 public class TaskResourceFilter extends AbstractResourceFilter
 {
-  private final TaskStorageQueryAdapter taskStorageQueryAdapter;
+  private final TaskQueryTool taskQueryTool;
 
   @Inject
   public TaskResourceFilter(
-      TaskStorageQueryAdapter taskStorageQueryAdapter,
+      TaskQueryTool taskQueryTool,
       AuthorizerMapper authorizerMapper
   )
   {
     super(authorizerMapper);
-    this.taskStorageQueryAdapter = taskStorageQueryAdapter;
+    this.taskQueryTool = taskQueryTool;
   }
 
   @Override
@@ -76,7 +76,7 @@ public class TaskResourceFilter extends AbstractResourceFilter
 
     IdUtils.validateId("taskId", taskId);
 
-    Optional<Task> taskOptional = taskStorageQueryAdapter.getTask(taskId);
+    Optional<Task> taskOptional = taskQueryTool.getTask(taskId);
     if (!taskOptional.isPresent()) {
       throw new WebApplicationException(
           Response.status(Response.Status.NOT_FOUND)
diff --git 
a/indexing-service/src/test/java/org/apache/druid/indexing/overlord/IndexerMetadataStorageAdapterTest.java
 
b/indexing-service/src/test/java/org/apache/druid/indexing/overlord/IndexerMetadataStorageAdapterTest.java
index 633d861410d..5226c9d735b 100644
--- 
a/indexing-service/src/test/java/org/apache/druid/indexing/overlord/IndexerMetadataStorageAdapterTest.java
+++ 
b/indexing-service/src/test/java/org/apache/druid/indexing/overlord/IndexerMetadataStorageAdapterTest.java
@@ -28,6 +28,7 @@ import org.apache.druid.indexing.common.task.NoopTask;
 import org.apache.druid.indexing.common.task.Task;
 import org.apache.druid.java.util.common.DateTimes;
 import org.apache.druid.java.util.common.Intervals;
+import org.apache.druid.metadata.TaskLookup;
 import org.easymock.EasyMock;
 import org.hamcrest.MatcherAssert;
 import org.joda.time.Interval;
@@ -39,7 +40,7 @@ import java.util.List;
 
 public class IndexerMetadataStorageAdapterTest
 {
-  private TaskStorageQueryAdapter taskStorageQueryAdapter;
+  private TaskStorage taskStorage;
   private IndexerMetadataStorageCoordinator indexerMetadataStorageCoordinator;
   private IndexerMetadataStorageAdapter indexerMetadataStorageAdapter;
 
@@ -47,9 +48,9 @@ public class IndexerMetadataStorageAdapterTest
   public void setup()
   {
     indexerMetadataStorageCoordinator = 
EasyMock.strictMock(IndexerMetadataStorageCoordinator.class);
-    taskStorageQueryAdapter = 
EasyMock.strictMock(TaskStorageQueryAdapter.class);
+    taskStorage = EasyMock.strictMock(TaskStorage.class);
     indexerMetadataStorageAdapter = new IndexerMetadataStorageAdapter(
-        taskStorageQueryAdapter,
+        taskStorage,
         indexerMetadataStorageCoordinator
     );
   }
@@ -73,7 +74,7 @@ public class IndexerMetadataStorageAdapterTest
             NoopTask.create()
         )
     );
-    
EasyMock.expect(taskStorageQueryAdapter.getActiveTaskInfo("dataSource")).andReturn(taskInfos);
+    EasyMock.expect(taskStorage.getTaskInfos(TaskLookup.activeTasksOnly(), 
"dataSource")).andReturn(taskInfos);
 
     final Interval deleteInterval = Intervals.of("2017-01-01/2017-12-01");
     EasyMock
@@ -84,7 +85,7 @@ public class IndexerMetadataStorageAdapterTest
             )
         )
         .andReturn(10);
-    EasyMock.replay(taskStorageQueryAdapter, 
indexerMetadataStorageCoordinator);
+    EasyMock.replay(taskStorage, indexerMetadataStorageCoordinator);
 
     Assert.assertEquals(10, 
indexerMetadataStorageAdapter.deletePendingSegments("dataSource", 
deleteInterval));
   }
@@ -109,7 +110,8 @@ public class IndexerMetadataStorageAdapterTest
         )
     );
 
-    
EasyMock.expect(taskStorageQueryAdapter.getActiveTaskInfo("dataSource")).andReturn(taskInfos);
+    EasyMock.expect(taskStorage.getTaskInfos(TaskLookup.activeTasksOnly(), 
"dataSource"))
+            .andReturn(taskInfos);
 
     final Interval deleteInterval = Intervals.of("2017-01-01/2017-12-01");
     EasyMock
@@ -120,7 +122,7 @@ public class IndexerMetadataStorageAdapterTest
             )
         )
         .andReturn(10);
-    EasyMock.replay(taskStorageQueryAdapter, 
indexerMetadataStorageCoordinator);
+    EasyMock.replay(taskStorage, indexerMetadataStorageCoordinator);
 
     MatcherAssert.assertThat(
         Assert.assertThrows(
@@ -155,7 +157,8 @@ public class IndexerMetadataStorageAdapterTest
         )
     );
 
-    
EasyMock.expect(taskStorageQueryAdapter.getActiveTaskInfo("dataSource")).andReturn(taskInfos);
+    EasyMock.expect(taskStorage.getTaskInfos(TaskLookup.activeTasksOnly(), 
"dataSource"))
+            .andReturn(taskInfos);
 
     final Interval deleteInterval = Intervals.of("2017-01-01/2018-12-01");
     EasyMock
@@ -166,7 +169,7 @@ public class IndexerMetadataStorageAdapterTest
             )
         )
         .andReturn(10);
-    EasyMock.replay(taskStorageQueryAdapter, 
indexerMetadataStorageCoordinator);
+    EasyMock.replay(taskStorage, indexerMetadataStorageCoordinator);
 
     MatcherAssert.assertThat(
         Assert.assertThrows(
diff --git 
a/indexing-service/src/test/java/org/apache/druid/indexing/overlord/TaskLifecycleTest.java
 
b/indexing-service/src/test/java/org/apache/druid/indexing/overlord/TaskLifecycleTest.java
index 4384be25bc1..7b1209e7929 100644
--- 
a/indexing-service/src/test/java/org/apache/druid/indexing/overlord/TaskLifecycleTest.java
+++ 
b/indexing-service/src/test/java/org/apache/druid/indexing/overlord/TaskLifecycleTest.java
@@ -234,7 +234,7 @@ public class TaskLifecycleTest extends 
InitializedNullHandlingTest
   private final String taskStorageType;
 
   private ObjectMapper mapper;
-  private TaskStorageQueryAdapter tsqa = null;
+  private TaskQueryTool tsqa = null;
   private TaskStorage taskStorage = null;
   private TaskLockbox taskLockbox = null;
   private TaskQueue taskQueue = null;
@@ -477,7 +477,7 @@ public class TaskLifecycleTest extends 
InitializedNullHandlingTest
     TaskMaster taskMaster = EasyMock.createMock(TaskMaster.class);
     
EasyMock.expect(taskMaster.getTaskQueue()).andReturn(Optional.absent()).anyTimes();
     EasyMock.replay(taskMaster);
-    tsqa = new TaskStorageQueryAdapter(taskStorage, taskLockbox, taskMaster);
+    tsqa = new TaskQueryTool(taskStorage, taskLockbox, taskMaster);
     return taskStorage;
   }
 
diff --git 
a/indexing-service/src/test/java/org/apache/druid/indexing/overlord/http/OverlordResourceTest.java
 
b/indexing-service/src/test/java/org/apache/druid/indexing/overlord/http/OverlordResourceTest.java
index 3af672a665b..4f2c3a38794 100644
--- 
a/indexing-service/src/test/java/org/apache/druid/indexing/overlord/http/OverlordResourceTest.java
+++ 
b/indexing-service/src/test/java/org/apache/druid/indexing/overlord/http/OverlordResourceTest.java
@@ -42,10 +42,10 @@ import org.apache.druid.indexing.common.task.Task;
 import org.apache.druid.indexing.overlord.ImmutableWorkerInfo;
 import org.apache.druid.indexing.overlord.IndexerMetadataStorageAdapter;
 import org.apache.druid.indexing.overlord.TaskMaster;
+import org.apache.druid.indexing.overlord.TaskQueryTool;
 import org.apache.druid.indexing.overlord.TaskQueue;
 import org.apache.druid.indexing.overlord.TaskRunner;
 import org.apache.druid.indexing.overlord.TaskRunnerWorkItem;
-import org.apache.druid.indexing.overlord.TaskStorageQueryAdapter;
 import org.apache.druid.indexing.overlord.WorkerTaskRunner;
 import org.apache.druid.indexing.overlord.WorkerTaskRunnerQueryAdapter;
 import org.apache.druid.indexing.overlord.autoscaling.AutoScaler;
@@ -106,7 +106,7 @@ public class OverlordResourceTest
   private JacksonConfigManager configManager;
   private ProvisioningStrategy provisioningStrategy;
   private AuthConfig authConfig;
-  private TaskStorageQueryAdapter taskStorageQueryAdapter;
+  private TaskQueryTool taskQueryTool;
   private IndexerMetadataStorageAdapter indexerMetadataStorageAdapter;
   private HttpServletRequest req;
   private TaskRunner taskRunner;
@@ -126,7 +126,7 @@ public class OverlordResourceTest
     provisioningStrategy = EasyMock.createMock(ProvisioningStrategy.class);
     authConfig = EasyMock.createMock(AuthConfig.class);
     taskMaster = EasyMock.createStrictMock(TaskMaster.class);
-    taskStorageQueryAdapter = 
EasyMock.createStrictMock(TaskStorageQueryAdapter.class);
+    taskQueryTool = EasyMock.createStrictMock(TaskQueryTool.class);
     indexerMetadataStorageAdapter = 
EasyMock.createStrictMock(IndexerMetadataStorageAdapter.class);
     req = EasyMock.createStrictMock(HttpServletRequest.class);
     workerTaskRunnerQueryAdapter = 
EasyMock.createStrictMock(WorkerTaskRunnerQueryAdapter.class);
@@ -171,7 +171,7 @@ public class OverlordResourceTest
 
     overlordResource = new OverlordResource(
         taskMaster,
-        taskStorageQueryAdapter,
+        taskQueryTool,
         indexerMetadataStorageAdapter,
         null,
         configManager,
@@ -189,7 +189,7 @@ public class OverlordResourceTest
     EasyMock.verify(
         taskRunner,
         taskMaster,
-        taskStorageQueryAdapter,
+        taskQueryTool,
         indexerMetadataStorageAdapter,
         req,
         workerTaskRunnerQueryAdapter,
@@ -202,7 +202,7 @@ public class OverlordResourceTest
     EasyMock.replay(
         taskRunner,
         taskMaster,
-        taskStorageQueryAdapter,
+        taskQueryTool,
         indexerMetadataStorageAdapter,
         req,
         workerTaskRunnerQueryAdapter,
@@ -247,7 +247,7 @@ public class OverlordResourceTest
   {
     expectAuthorizationTokenCheck();
     EasyMock.expect(
-        taskStorageQueryAdapter.getTaskStatusPlusList(
+        taskQueryTool.getTaskStatusPlusList(
             ImmutableMap.of(TaskLookupType.ACTIVE, 
ActiveTaskLookup.getInstance()),
             null
         )
@@ -282,7 +282,7 @@ public class OverlordResourceTest
     List<String> tasksIds = ImmutableList.of("id_1", "id_2", "id_3");
 
     EasyMock.expect(
-        taskStorageQueryAdapter.getTaskStatusPlusList(
+        taskQueryTool.getTaskStatusPlusList(
             ImmutableMap.of(TaskLookupType.COMPLETE, 
CompleteTaskLookup.of(null, (Duration) null)), null)
     ).andStubReturn(
         ImmutableList.of(
@@ -292,6 +292,7 @@ public class OverlordResourceTest
         )
     );
     replayAll();
+
     List<TaskStatusPlus> responseObjects = (List) overlordResource
         .getCompleteTasks(null, req).getEntity();
 
@@ -312,7 +313,7 @@ public class OverlordResourceTest
         )
     );
     EasyMock.expect(
-        taskStorageQueryAdapter.getTaskStatusPlusList(
+        taskQueryTool.getTaskStatusPlusList(
             ImmutableMap.of(TaskLookupType.ACTIVE, 
ActiveTaskLookup.getInstance()),
             null
         )
@@ -339,7 +340,7 @@ public class OverlordResourceTest
   {
     expectAuthorizationTokenCheck();
     EasyMock.expect(
-        taskStorageQueryAdapter.getTaskStatusPlusList(
+        taskQueryTool.getTaskStatusPlusList(
             ImmutableMap.of(
                 TaskLookupType.ACTIVE,
                 ActiveTaskLookup.getInstance(),
@@ -367,6 +368,7 @@ public class OverlordResourceTest
     ).atLeastOnce();
 
     replayAll();
+
     List<TaskStatusPlus> responseObjects = (List<TaskStatusPlus>) 
overlordResource
         .getTasks(null, null, null, null, null, req)
         .getEntity();
@@ -379,7 +381,7 @@ public class OverlordResourceTest
     expectAuthorizationTokenCheck();
     //completed tasks
     EasyMock.expect(
-        taskStorageQueryAdapter.getTaskStatusPlusList(
+        taskQueryTool.getTaskStatusPlusList(
             ImmutableMap.of(
                 TaskLookupType.COMPLETE,
                 CompleteTaskLookup.of(null, null),
@@ -421,7 +423,7 @@ public class OverlordResourceTest
     expectAuthorizationTokenCheck();
     //active tasks
     EasyMock.expect(
-        taskStorageQueryAdapter.getTaskStatusPlusList(
+        taskQueryTool.getTaskStatusPlusList(
             ImmutableMap.of(
                 TaskLookupType.ACTIVE,
                 ActiveTaskLookup.getInstance()
@@ -445,6 +447,7 @@ public class OverlordResourceTest
     );
 
     replayAll();
+
     List<TaskStatusPlus> responseObjects = (List<TaskStatusPlus>) 
overlordResource
         .getTasks(
             "waiting",
@@ -463,7 +466,7 @@ public class OverlordResourceTest
   {
     expectAuthorizationTokenCheck();
     EasyMock.expect(
-        taskStorageQueryAdapter.getTaskStatusPlusList(
+        taskQueryTool.getTaskStatusPlusList(
             ImmutableMap.of(
                 TaskLookupType.ACTIVE,
                 ActiveTaskLookup.getInstance()
@@ -513,7 +516,7 @@ public class OverlordResourceTest
         )
     );
     EasyMock.expect(
-        taskStorageQueryAdapter.getTaskStatusPlusList(
+        taskQueryTool.getTaskStatusPlusList(
             ImmutableMap.of(TaskLookupType.ACTIVE, 
ActiveTaskLookup.getInstance()),
             null
         )
@@ -547,7 +550,7 @@ public class OverlordResourceTest
   {
     expectAuthorizationTokenCheck();
     EasyMock.expect(
-        taskStorageQueryAdapter.getTaskStatusPlusList(
+        taskQueryTool.getTaskStatusPlusList(
             ImmutableMap.of(TaskLookupType.COMPLETE, 
CompleteTaskLookup.of(null, (Duration) null)),
             null
         )
@@ -559,6 +562,7 @@ public class OverlordResourceTest
         )
     );
     replayAll();
+
     List<TaskStatusPlus> responseObjects = (List<TaskStatusPlus>) 
overlordResource
         .getTasks("complete", null, null, null, null, req)
         .getEntity();
@@ -573,7 +577,7 @@ public class OverlordResourceTest
     expectAuthorizationTokenCheck();
     Duration duration = new Period("PT86400S").toStandardDuration();
     EasyMock.expect(
-        taskStorageQueryAdapter.getTaskStatusPlusList(
+        taskQueryTool.getTaskStatusPlusList(
             EasyMock.anyObject(),
             EasyMock.anyObject()
         )
@@ -586,6 +590,7 @@ public class OverlordResourceTest
     );
 
     replayAll();
+
     String interval = "2010-01-01_P1D";
     List<TaskStatusPlus> responseObjects = (List<TaskStatusPlus>) 
overlordResource
         .getTasks("complete", null, interval, null, null, req)
@@ -604,7 +609,7 @@ public class OverlordResourceTest
 
     // Setup mocks to return completed, active, known, pending and running 
tasks
     EasyMock.expect(
-        taskStorageQueryAdapter.getTaskStatusPlusList(
+        taskQueryTool.getTaskStatusPlusList(
             ImmutableMap.of(
                 TaskLookupType.COMPLETE,
                 CompleteTaskLookup.of(null, null),
@@ -653,7 +658,7 @@ public class OverlordResourceTest
 
     // Setup mocks to return completed, active, known, pending and running 
tasks
     EasyMock.expect(
-        taskStorageQueryAdapter.getTaskStatusPlusList(
+        taskQueryTool.getTaskStatusPlusList(
             ImmutableMap.of(
                 TaskLookupType.COMPLETE,
                 CompleteTaskLookup.of(null, null),
@@ -711,7 +716,7 @@ public class OverlordResourceTest
   {
     expectAuthorizationTokenCheck();
     EasyMock.expect(
-        taskStorageQueryAdapter.getTaskStatusPlusList(
+        taskQueryTool.getTaskStatusPlusList(
             ImmutableMap.of(
                 TaskLookupType.COMPLETE,
                 CompleteTaskLookup.of(null, null)
@@ -726,6 +731,7 @@ public class OverlordResourceTest
         )
     );
     replayAll();
+
     List<TaskStatusPlus> responseObjects = (List<TaskStatusPlus>) 
overlordResource
         .getTasks("complete", null, null, null, null, req)
         .getEntity();
@@ -738,6 +744,7 @@ public class OverlordResourceTest
   public void testGetTasksNegativeState()
   {
     replayAll();
+
     Object responseObject = overlordResource
         .getTasks("blah", "ds_test", null, null, null, req)
         .getEntity();
@@ -755,6 +762,7 @@ public class OverlordResourceTest
     EasyMock.expect(authConfig.isEnableInputSourceSecurity()).andReturn(false);
 
     replayAll();
+
     Task task = NoopTask.create();
     overlordResource.taskPost(task, req);
   }
@@ -936,10 +944,10 @@ public class OverlordResourceTest
     // This should be fixed in https://github.com/apache/druid/issues/6685.
     // expectAuthorizationTokenCheck();
     final NoopTask task = NoopTask.create();
-    EasyMock.expect(taskStorageQueryAdapter.getTask("mytask"))
+    EasyMock.expect(taskQueryTool.getTask("mytask"))
             .andReturn(Optional.of(task));
 
-    EasyMock.expect(taskStorageQueryAdapter.getTask("othertask"))
+    EasyMock.expect(taskQueryTool.getTask("othertask"))
             .andReturn(Optional.absent());
 
     replayAll();
@@ -970,7 +978,7 @@ public class OverlordResourceTest
     final String taskId = task.getId();
     final TaskStatus status = TaskStatus.running(taskId);
 
-    EasyMock.expect(taskStorageQueryAdapter.getTaskInfo(taskId))
+    EasyMock.expect(taskQueryTool.getTaskInfo(taskId))
             .andReturn(new TaskInfo(
                 task.getId(),
                 DateTimes.of("2018-01-01"),
@@ -979,7 +987,7 @@ public class OverlordResourceTest
                 task
             ));
 
-    EasyMock.expect(taskStorageQueryAdapter.getTaskInfo("othertask"))
+    EasyMock.expect(taskQueryTool.getTaskInfo("othertask"))
             .andReturn(null);
 
     EasyMock.<Collection<? extends 
TaskRunnerWorkItem>>expect(taskRunner.getKnownTasks())
@@ -1034,7 +1042,7 @@ public class OverlordResourceTest
         )
     );
 
-    
EasyMock.expect(taskStorageQueryAdapter.getLockedIntervals(minTaskPriority))
+    EasyMock.expect(taskQueryTool.getLockedIntervals(minTaskPriority))
             .andReturn(expectedLockedIntervals);
     replayAll();
 
@@ -1104,7 +1112,7 @@ public class OverlordResourceTest
     EasyMock.expect(taskMaster.getTaskQueue()).andReturn(
         Optional.of(mockQueue)
     ).anyTimes();
-    
EasyMock.expect(taskStorageQueryAdapter.getActiveTaskInfo("datasource")).andStubReturn(ImmutableList.of(
+    
EasyMock.expect(taskQueryTool.getActiveTaskInfo("datasource")).andStubReturn(ImmutableList.of(
         new TaskInfo<>(
             "id_1",
             DateTime.now(ISOChronology.getInstanceUTC()),
@@ -1140,7 +1148,7 @@ public class OverlordResourceTest
     final TaskQueue taskQueue = EasyMock.createMock(TaskQueue.class);
     EasyMock.expect(taskMaster.isLeader()).andReturn(true).anyTimes();
     
EasyMock.expect(taskMaster.getTaskQueue()).andReturn(Optional.of(taskQueue)).anyTimes();
-    
EasyMock.expect(taskStorageQueryAdapter.getActiveTaskInfo(EasyMock.anyString())).andReturn(Collections.emptyList());
+    
EasyMock.expect(taskQueryTool.getActiveTaskInfo(EasyMock.anyString())).andReturn(Collections.emptyList());
     replayAll();
 
     final Response response = 
overlordResource.shutdownTasksForDataSource("notExisting");
@@ -1232,6 +1240,7 @@ public class OverlordResourceTest
     EasyMock.expect(taskRunner.getTotalCapacity()).andReturn(-1);
     EasyMock.expect(taskRunner.getUsedCapacity()).andReturn(-1);
     replayAll();
+
     final Response response = overlordResource.getTotalWorkerCapacity();
     Assert.assertEquals(HttpResponseStatus.OK.getCode(), response.getStatus());
     Assert.assertEquals(-1, ((TotalWorkerCapacityResponse) 
response.getEntity()).getCurrentClusterCapacity());
@@ -1247,6 +1256,7 @@ public class OverlordResourceTest
     EasyMock.expect(taskRunner.getTotalCapacity()).andReturn(-1);
     EasyMock.expect(taskRunner.getUsedCapacity()).andReturn(-1);
     replayAll();
+
     final Response response = overlordResource.getTotalWorkerCapacity();
     Assert.assertEquals(HttpResponseStatus.OK.getCode(), response.getStatus());
     Assert.assertEquals(-1, ((TotalWorkerCapacityResponse) 
response.getEntity()).getCurrentClusterCapacity());
@@ -1263,6 +1273,7 @@ public class OverlordResourceTest
     EasyMock.expect(taskRunner.getTotalCapacity()).andReturn(-1);
     EasyMock.expect(taskRunner.getUsedCapacity()).andReturn(-1);
     replayAll();
+
     final Response response = overlordResource.getTotalWorkerCapacity();
     Assert.assertEquals(HttpResponseStatus.OK.getCode(), response.getStatus());
     Assert.assertEquals(-1, ((TotalWorkerCapacityResponse) 
response.getEntity()).getCurrentClusterCapacity());
@@ -1471,15 +1482,16 @@ public class OverlordResourceTest
   {
     replayAll();
 
-    TaskStorageQueryAdapter taskStorageQueryAdapter = 
EasyMock.createMock(TaskStorageQueryAdapter.class);
-    EasyMock.expect(taskStorageQueryAdapter.getStatus("task"))
+    TaskQueryTool taskQueryTool = EasyMock.createMock(TaskQueryTool.class);
+    EasyMock.expect(taskQueryTool.getStatus("task"))
             .andReturn(Optional.of(TaskStatus.running("task")));
+
     TaskMaster taskMaster = EasyMock.createMock(TaskMaster.class);
     EasyMock.expect(taskMaster.getTaskQueue()).andReturn(Optional.absent());
-    EasyMock.replay(taskMaster, taskStorageQueryAdapter);
+    EasyMock.replay(taskMaster, taskQueryTool);
     OverlordResource overlordResource = new OverlordResource(
         taskMaster,
-        taskStorageQueryAdapter,
+        taskQueryTool,
         null,
         null,
         null,
diff --git 
a/indexing-service/src/test/java/org/apache/druid/indexing/overlord/http/OverlordTest.java
 
b/indexing-service/src/test/java/org/apache/druid/indexing/overlord/http/OverlordTest.java
index aab3639b2e6..9bbf2e9fc8a 100644
--- 
a/indexing-service/src/test/java/org/apache/druid/indexing/overlord/http/OverlordTest.java
+++ 
b/indexing-service/src/test/java/org/apache/druid/indexing/overlord/http/OverlordTest.java
@@ -52,12 +52,12 @@ import 
org.apache.druid.indexing.overlord.IndexerMetadataStorageAdapter;
 import org.apache.druid.indexing.overlord.IndexerMetadataStorageCoordinator;
 import org.apache.druid.indexing.overlord.TaskLockbox;
 import org.apache.druid.indexing.overlord.TaskMaster;
+import org.apache.druid.indexing.overlord.TaskQueryTool;
 import org.apache.druid.indexing.overlord.TaskRunner;
 import org.apache.druid.indexing.overlord.TaskRunnerFactory;
 import org.apache.druid.indexing.overlord.TaskRunnerListener;
 import org.apache.druid.indexing.overlord.TaskRunnerWorkItem;
 import org.apache.druid.indexing.overlord.TaskStorage;
-import org.apache.druid.indexing.overlord.TaskStorageQueryAdapter;
 import org.apache.druid.indexing.overlord.WorkerTaskRunnerQueryAdapter;
 import org.apache.druid.indexing.overlord.autoscaling.ScalingStats;
 import org.apache.druid.indexing.overlord.config.DefaultTaskConfig;
@@ -269,14 +269,14 @@ public class OverlordTest
     Assert.assertEquals(taskMaster.getCurrentLeader(), 
druidNode.getHostAndPort());
     Assert.assertEquals(Optional.absent(), taskMaster.getRedirectLocation());
 
-    final TaskStorageQueryAdapter taskStorageQueryAdapter = new 
TaskStorageQueryAdapter(taskStorage, taskLockbox, taskMaster);
+    final TaskQueryTool taskQueryTool = new TaskQueryTool(taskStorage, 
taskLockbox, taskMaster);
     final WorkerTaskRunnerQueryAdapter workerTaskRunnerQueryAdapter = new 
WorkerTaskRunnerQueryAdapter(taskMaster, null);
     // Test Overlord resource stuff
     AuditManager auditManager = EasyMock.createNiceMock(AuditManager.class);
     overlordResource = new OverlordResource(
         taskMaster,
-        taskStorageQueryAdapter,
-        new IndexerMetadataStorageAdapter(taskStorageQueryAdapter, null),
+        taskQueryTool,
+        new IndexerMetadataStorageAdapter(taskStorage, null),
         null,
         null,
         auditManager,
diff --git 
a/indexing-service/src/test/java/org/apache/druid/indexing/overlord/http/security/OverlordSecurityResourceFilterTest.java
 
b/indexing-service/src/test/java/org/apache/druid/indexing/overlord/http/security/OverlordSecurityResourceFilterTest.java
index 3b775ca9491..a25c6aec621 100644
--- 
a/indexing-service/src/test/java/org/apache/druid/indexing/overlord/http/security/OverlordSecurityResourceFilterTest.java
+++ 
b/indexing-service/src/test/java/org/apache/druid/indexing/overlord/http/security/OverlordSecurityResourceFilterTest.java
@@ -26,7 +26,7 @@ import com.google.inject.Injector;
 import com.sun.jersey.spi.container.ResourceFilter;
 import org.apache.druid.indexing.common.task.NoopTask;
 import org.apache.druid.indexing.common.task.Task;
-import org.apache.druid.indexing.overlord.TaskStorageQueryAdapter;
+import org.apache.druid.indexing.overlord.TaskQueryTool;
 import org.apache.druid.indexing.overlord.http.OverlordResource;
 import org.apache.druid.indexing.overlord.supervisor.Supervisor;
 import org.apache.druid.indexing.overlord.supervisor.SupervisorManager;
@@ -60,7 +60,7 @@ public class OverlordSecurityResourceFilterTest extends 
ResourceFilterTestHelper
     return ImmutableList.copyOf(
         Iterables.concat(
             getRequestPaths(OverlordResource.class, ImmutableList.of(
-                TaskStorageQueryAdapter.class,
+                TaskQueryTool.class,
                 AuthorizerMapper.class
                             )
             ),
@@ -84,7 +84,7 @@ public class OverlordSecurityResourceFilterTest extends 
ResourceFilterTestHelper
 
   private static boolean mockedOnceTsqa;
   private static boolean mockedOnceSM;
-  private TaskStorageQueryAdapter tsqa;
+  private TaskQueryTool tsqa;
   private SupervisorManager supervisorManager;
 
   public OverlordSecurityResourceFilterTest(
@@ -107,7 +107,7 @@ public class OverlordSecurityResourceFilterTest extends 
ResourceFilterTestHelper
       // Since we are creating the mocked tsqa object only once and getting 
that object from Guice here therefore
       // if the mockedOnce check is not done then we will call EasyMock.expect 
and EasyMock.replay on the mocked object
       // multiple times and it will throw exceptions
-      tsqa = injector.getInstance(TaskStorageQueryAdapter.class);
+      tsqa = injector.getInstance(TaskQueryTool.class);
       
EasyMock.expect(tsqa.getTask(EasyMock.anyString())).andReturn(Optional.of(noopTask)).anyTimes();
       EasyMock.replay(tsqa);
       mockedOnceTsqa = true;
diff --git 
a/indexing-service/src/test/java/org/apache/druid/indexing/overlord/http/security/TaskResourceFilterTest.java
 
b/indexing-service/src/test/java/org/apache/druid/indexing/overlord/http/security/TaskResourceFilterTest.java
index 59abcaacdf8..8a7684b5ccd 100644
--- 
a/indexing-service/src/test/java/org/apache/druid/indexing/overlord/http/security/TaskResourceFilterTest.java
+++ 
b/indexing-service/src/test/java/org/apache/druid/indexing/overlord/http/security/TaskResourceFilterTest.java
@@ -21,7 +21,7 @@ package org.apache.druid.indexing.overlord.http.security;
 
 import com.google.common.base.Optional;
 import com.sun.jersey.spi.container.ContainerRequest;
-import org.apache.druid.indexing.overlord.TaskStorageQueryAdapter;
+import org.apache.druid.indexing.overlord.TaskQueryTool;
 import org.apache.druid.indexing.overlord.supervisor.SupervisorSpec;
 import org.apache.druid.server.security.AuthorizerMapper;
 import org.easymock.EasyMock;
@@ -42,7 +42,7 @@ import static org.easymock.EasyMock.expect;
 public class TaskResourceFilterTest
 {
   private AuthorizerMapper authorizerMapper;
-  private TaskStorageQueryAdapter taskStorageQueryAdapter;
+  private TaskQueryTool taskQueryTool;
   private ContainerRequest containerRequest;
   private TaskResourceFilter resourceFilter;
 
@@ -50,9 +50,9 @@ public class TaskResourceFilterTest
   public void setup()
   {
     authorizerMapper = EasyMock.createMock(AuthorizerMapper.class);
-    taskStorageQueryAdapter = 
EasyMock.createMock(TaskStorageQueryAdapter.class);
+    taskQueryTool = EasyMock.createMock(TaskQueryTool.class);
     containerRequest = EasyMock.createMock(ContainerRequest.class);
-    resourceFilter = new TaskResourceFilter(taskStorageQueryAdapter, 
authorizerMapper);
+    resourceFilter = new TaskResourceFilter(taskQueryTool, authorizerMapper);
   }
 
   @Test
@@ -68,11 +68,11 @@ public class TaskResourceFilterTest
     expect(supervisorSpec.getDataSources())
         .andReturn(Collections.singletonList(taskId))
         .anyTimes();
-    expect(taskStorageQueryAdapter.getTask(taskId))
+    expect(taskQueryTool.getTask(taskId))
         .andReturn(Optional.absent())
         .atLeastOnce();
     EasyMock.replay(containerRequest);
-    EasyMock.replay(taskStorageQueryAdapter);
+    EasyMock.replay(taskQueryTool);
 
     WebApplicationException expected = null;
     try {
@@ -84,7 +84,7 @@ public class TaskResourceFilterTest
     Assert.assertNotNull(expected);
     Assert.assertEquals(expected.getResponse().getStatus(), 
Response.Status.NOT_FOUND.getStatusCode());
     EasyMock.verify(containerRequest);
-    EasyMock.verify(taskStorageQueryAdapter);
+    EasyMock.verify(taskQueryTool);
   }
 
   private List<PathSegment> getPathSegments(String path)
diff --git a/processing/src/main/java/org/apache/druid/metadata/TaskLookup.java 
b/processing/src/main/java/org/apache/druid/metadata/TaskLookup.java
index 75bbb32431c..6bd4280c5a3 100644
--- a/processing/src/main/java/org/apache/druid/metadata/TaskLookup.java
+++ b/processing/src/main/java/org/apache/druid/metadata/TaskLookup.java
@@ -43,6 +43,11 @@ public interface TaskLookup
     COMPLETE
   }
 
+  static TaskLookup activeTasksOnly()
+  {
+    return ActiveTaskLookup.getInstance();
+  }
+
   /**
    * Whether this lookup is guaranteed to not return any tasks.
    */
diff --git 
a/processing/src/test/java/org/apache/druid/metadata/TaskLookupTest.java 
b/processing/src/test/java/org/apache/druid/metadata/TaskLookupTest.java
index 76d90737a5f..fe372558b64 100644
--- a/processing/src/test/java/org/apache/druid/metadata/TaskLookupTest.java
+++ b/processing/src/test/java/org/apache/druid/metadata/TaskLookupTest.java
@@ -130,7 +130,7 @@ public class TaskLookupTest
     @Test
     public void testGetType()
     {
-      Assert.assertEquals(TaskLookupType.ACTIVE, 
ActiveTaskLookup.getInstance().getType());
+      Assert.assertEquals(TaskLookupType.ACTIVE, 
TaskLookup.activeTasksOnly().getType());
     }
   }
 }
diff --git a/services/src/main/java/org/apache/druid/cli/CliOverlord.java 
b/services/src/main/java/org/apache/druid/cli/CliOverlord.java
index da4b7e02714..4dd23f2faf2 100644
--- a/services/src/main/java/org/apache/druid/cli/CliOverlord.java
+++ b/services/src/main/java/org/apache/druid/cli/CliOverlord.java
@@ -74,9 +74,9 @@ import org.apache.druid.indexing.overlord.MetadataTaskStorage;
 import org.apache.druid.indexing.overlord.RemoteTaskRunnerFactory;
 import org.apache.druid.indexing.overlord.TaskLockbox;
 import org.apache.druid.indexing.overlord.TaskMaster;
+import org.apache.druid.indexing.overlord.TaskQueryTool;
 import org.apache.druid.indexing.overlord.TaskRunnerFactory;
 import org.apache.druid.indexing.overlord.TaskStorage;
-import org.apache.druid.indexing.overlord.TaskStorageQueryAdapter;
 import 
org.apache.druid.indexing.overlord.autoscaling.PendingTaskBasedWorkerProvisioningConfig;
 import 
org.apache.druid.indexing.overlord.autoscaling.PendingTaskBasedWorkerProvisioningStrategy;
 import 
org.apache.druid.indexing.overlord.autoscaling.ProvisioningSchedulerConfig;
@@ -229,7 +229,7 @@ public class CliOverlord extends ServerRunnable
             
binder.bind(TaskActionClientFactory.class).to(LocalTaskActionClientFactory.class).in(LazySingleton.class);
             binder.bind(TaskActionToolbox.class).in(LazySingleton.class);
             binder.bind(TaskLockbox.class).in(LazySingleton.class);
-            binder.bind(TaskStorageQueryAdapter.class).in(LazySingleton.class);
+            binder.bind(TaskQueryTool.class).in(LazySingleton.class);
             
binder.bind(IndexerMetadataStorageAdapter.class).in(LazySingleton.class);
             binder.bind(SupervisorManager.class).in(LazySingleton.class);
 


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@druid.apache.org
For additional commands, e-mail: commits-h...@druid.apache.org


Reply via email to