Unable to grant lock to Realtimeindextask

Hi, list.

I’m trying to do realtime ingestion in Druid 0.8.3 thought tranquility and I’m facing an unexpected exception:

2016-07-28T20:50:46,049 ERROR [task-runner-0] io.druid.indexing.common.task.RealtimeIndexTask - Exception aborted realtime processing[MY_DATA_SOURCE]: {class=io.druid.indexing.common.task.RealtimeIndexTask, exceptionType=class com.metamx.common.ISE, exceptionMessage=Unable to grant lock to inactive Task [index_realtime_MY_DATA_SOURCE_2016-07-28T20:50:00.000Z_0_0]}
com.metamx.common.ISE: Unable to grant lock to inactive Task [index_realtime_MY_DATA_SOURCE_2016-07-28T20:50:00.000Z_0_0]
at io.druid.indexing.overlord.TaskLockbox.tryLock(TaskLockbox.java:226) ~[druid-indexing-service-0.8.3.jar:0.8.3]
at io.druid.indexing.overlord.TaskLockbox.tryLock(TaskLockbox.java:203) ~[druid-indexing-service-0.8.3.jar:0.8.3]
at io.druid.indexing.overlord.TaskLockbox.lock(TaskLockbox.java:181) ~[druid-indexing-service-0.8.3.jar:0.8.3]
at io.druid.indexing.common.actions.LockAcquireAction.perform(LockAcquireAction.java:59) ~[druid-indexing-service-0.8.3.jar:0.8.3]
at io.druid.indexing.common.actions.LockAcquireAction.perform(LockAcquireAction.java:29) ~[druid-indexing-service-0.8.3.jar:0.8.3]
at io.druid.indexing.common.actions.LocalTaskActionClient.submit(LocalTaskActionClient.java:62) ~[druid-indexing-service-0.8.3.jar:0.8.3]
at io.druid.indexing.common.task.RealtimeIndexTask$2.getVersion(RealtimeIndexTask.java:256) ~[druid-indexing-service-0.8.3.jar:0.8.3]
at io.druid.segment.realtime.plumber.RealtimePlumber.getSink(RealtimePlumber.java:252) ~[druid-server-0.8.3.jar:0.8.3]
at io.druid.segment.realtime.plumber.RealtimePlumber.add(RealtimePlumber.java:219) ~[druid-server-0.8.3.jar:0.8.3]
at io.druid.indexing.common.task.RealtimeIndexTask.run(RealtimeIndexTask.java:332) [druid-indexing-service-0.8.3.jar:0.8.3]
at io.druid.indexing.overlord.ThreadPoolTaskRunner$ThreadPoolTaskRunnerCallable.call(ThreadPoolTaskRunner.java:285) [druid-indexing-service-0.8.3.jar:0.8.3]
at io.druid.indexing.overlord.ThreadPoolTaskRunner$ThreadPoolTaskRunnerCallable.call(ThreadPoolTaskRunner.java:265) [druid-indexing-service-0.8.3.jar:0.8.3]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_73]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_73]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_73]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_73]

I google it and I didnt find anything about it. Does any of you faced that kind of problem?

Hi,
the error means that overlord is not aware about the task which is trying to acquire the lock.

Did you had any ZK disconnections that might have caused the task to be assumed as failed by overlord?

Look for logs related to your task id in overlord console logs in order to understand more on why it didn’t had the task in active task list.

Cheers,

Nishant