You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@druid.apache.org by ab...@apache.org on 2023/03/29 07:57:20 UTC

[druid] branch master updated: Do not print error message if pod not found when getting task location (#13971)

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

abhishek 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 488f1d8363 Do not print error message if pod not found when getting task location (#13971)
488f1d8363 is described below

commit 488f1d83634e002c52ad9b7ff8c4cbb00efb4937
Author: Nicholas Lippis <ni...@imply.io>
AuthorDate: Wed Mar 29 03:57:06 2023 -0400

    Do not print error message if pod not found when getting task location (#13971)
    
    Do not print error message if pod not found when getting task location
---
 .../apache/druid/k8s/overlord/KubernetesTaskRunner.java   |  5 +++++
 .../druid/k8s/overlord/KubernetesTaskRunnerTest.java      | 15 +++++++++++++++
 2 files changed, 20 insertions(+)

diff --git a/extensions-contrib/kubernetes-overlord-extensions/src/main/java/org/apache/druid/k8s/overlord/KubernetesTaskRunner.java b/extensions-contrib/kubernetes-overlord-extensions/src/main/java/org/apache/druid/k8s/overlord/KubernetesTaskRunner.java
index ae2dbbb885..7f9e92a9fa 100644
--- a/extensions-contrib/kubernetes-overlord-extensions/src/main/java/org/apache/druid/k8s/overlord/KubernetesTaskRunner.java
+++ b/extensions-contrib/kubernetes-overlord-extensions/src/main/java/org/apache/druid/k8s/overlord/KubernetesTaskRunner.java
@@ -50,6 +50,7 @@ import org.apache.druid.k8s.overlord.common.DruidK8sConstants;
 import org.apache.druid.k8s.overlord.common.JobResponse;
 import org.apache.druid.k8s.overlord.common.K8sTaskId;
 import org.apache.druid.k8s.overlord.common.KubernetesPeonClient;
+import org.apache.druid.k8s.overlord.common.KubernetesResourceNotFoundException;
 import org.apache.druid.k8s.overlord.common.PeonPhase;
 import org.apache.druid.k8s.overlord.common.TaskAdapter;
 import org.apache.druid.tasklogs.TaskLogPusher;
@@ -469,6 +470,10 @@ public class KubernetesTaskRunner implements TaskLogStreamer, TaskRunner
             tlsEnabled
         );
       }
+      catch (KubernetesResourceNotFoundException e) {
+        log.debug(e, "Error getting task location for task %s", taskId);
+        return TaskLocation.unknown();
+      }
       catch (Exception e) {
         log.error(e, "Error getting task location for task %s", taskId);
         return TaskLocation.unknown();
diff --git a/extensions-contrib/kubernetes-overlord-extensions/src/test/java/org/apache/druid/k8s/overlord/KubernetesTaskRunnerTest.java b/extensions-contrib/kubernetes-overlord-extensions/src/test/java/org/apache/druid/k8s/overlord/KubernetesTaskRunnerTest.java
index 6914f79d13..7045abb9e6 100644
--- a/extensions-contrib/kubernetes-overlord-extensions/src/test/java/org/apache/druid/k8s/overlord/KubernetesTaskRunnerTest.java
+++ b/extensions-contrib/kubernetes-overlord-extensions/src/test/java/org/apache/druid/k8s/overlord/KubernetesTaskRunnerTest.java
@@ -52,6 +52,7 @@ import org.apache.druid.k8s.overlord.common.JobResponse;
 import org.apache.druid.k8s.overlord.common.K8sTaskAdapter;
 import org.apache.druid.k8s.overlord.common.K8sTaskId;
 import org.apache.druid.k8s.overlord.common.KubernetesPeonClient;
+import org.apache.druid.k8s.overlord.common.KubernetesResourceNotFoundException;
 import org.apache.druid.k8s.overlord.common.PeonPhase;
 import org.apache.druid.server.DruidNode;
 import org.apache.druid.server.log.StartupLoggingConfig;
@@ -427,6 +428,20 @@ public class KubernetesTaskRunnerTest
     assertEquals(TaskLocation.create("tweak", DruidK8sConstants.PORT, DruidK8sConstants.TLS_PORT, false), realLocation);
   }
 
+  @Test
+  public void testWorkItemGetLocation_withKubernetesResourceNotFoundException_returnsUnknownLocation()
+  {
+    KubernetesPeonClient client = mock(KubernetesPeonClient.class);
+
+    when(client.getMainJobPod(any())).thenThrow(KubernetesResourceNotFoundException.class);
+
+    Task task = mock(Task.class);
+    when(task.getId()).thenReturn("id");
+    KubernetesTaskRunner.K8sWorkItem k8sWorkItem = new KubernetesTaskRunner.K8sWorkItem(client, task, null);
+    TaskLocation location = k8sWorkItem.getLocation();
+    assertEquals(TaskLocation.unknown(), location);
+  }
+
   private Task makeTask()
   {
     return new TestableNoopTask(


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