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]