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

karan 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 8712098301 Fixing overlord unable to become a leader when syncing the 
lock from metadata store. (#14038)
8712098301 is described below

commit 871209830108008cd59e87adb58d11349600a8dd
Author: Karan Kumar <[email protected]>
AuthorDate: Mon Apr 10 12:37:31 2023 +0530

    Fixing overlord unable to become a leader when syncing the lock from 
metadata store. (#14038)
---
 .../main/java/org/apache/druid/indexing/overlord/TaskLockbox.java | 8 +++++++-
 .../java/org/apache/druid/indexing/overlord/TaskLockboxTest.java  | 6 +++---
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git 
a/indexing-service/src/main/java/org/apache/druid/indexing/overlord/TaskLockbox.java
 
b/indexing-service/src/main/java/org/apache/druid/indexing/overlord/TaskLockbox.java
index ca4d452655..9a2f785422 100644
--- 
a/indexing-service/src/main/java/org/apache/druid/indexing/overlord/TaskLockbox.java
+++ 
b/indexing-service/src/main/java/org/apache/druid/indexing/overlord/TaskLockbox.java
@@ -201,7 +201,6 @@ public class TaskLockbox
               task.getId(),
               task.getGroupId()
           );
-          continue;
         }
       }
 
@@ -237,6 +236,7 @@ public class TaskLockbox
    * groupId, dataSource, and priority.
    */
   @VisibleForTesting
+  @Nullable
   protected TaskLockPosse verifyAndCreateOrFindLockPosse(Task task, TaskLock 
taskLock)
   {
     giant.lock();
@@ -297,6 +297,12 @@ public class TaskLockbox
 
       return createOrFindLockPosse(request);
     }
+    catch (Exception e) {
+      log.error(e,
+                "Could not reacquire lock for task: %s from metadata store", 
task.getId()
+      );
+      return null;
+    }
     finally {
       giant.unlock();
     }
diff --git 
a/indexing-service/src/test/java/org/apache/druid/indexing/overlord/TaskLockboxTest.java
 
b/indexing-service/src/test/java/org/apache/druid/indexing/overlord/TaskLockboxTest.java
index 908e554a46..fd93aff2ba 100644
--- 
a/indexing-service/src/test/java/org/apache/druid/indexing/overlord/TaskLockboxTest.java
+++ 
b/indexing-service/src/test/java/org/apache/druid/indexing/overlord/TaskLockboxTest.java
@@ -449,9 +449,9 @@ public class TaskLockboxTest
     );
 
     final TaskLockbox lockbox = new TaskLockbox(taskStorage, 
metadataStorageCoordinator);
-    expectedException.expect(IllegalArgumentException.class);
-    expectedException.expectMessage("lock priority[10] is different from task 
priority[50]");
-    lockbox.syncFromStorage();
+    TaskLockboxSyncResult result = lockbox.syncFromStorage();
+    Assert.assertEquals(1, result.getTasksToFail().size());
+    Assert.assertTrue(result.getTasksToFail().contains(task));
   }
 
   @Test


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to