mirror of https://github.com/apache/druid.git
actually fix the bug mentioned in the last commit
This commit is contained in:
parent
82c4cd5641
commit
53c3af6633
|
@ -25,6 +25,7 @@ import com.google.common.base.Joiner;
|
||||||
import com.google.common.base.Optional;
|
import com.google.common.base.Optional;
|
||||||
import com.google.common.base.Preconditions;
|
import com.google.common.base.Preconditions;
|
||||||
import com.google.common.base.Predicate;
|
import com.google.common.base.Predicate;
|
||||||
|
import com.google.common.base.Stopwatch;
|
||||||
import com.google.common.base.Throwables;
|
import com.google.common.base.Throwables;
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
import com.google.common.collect.MinMaxPriorityQueue;
|
import com.google.common.collect.MinMaxPriorityQueue;
|
||||||
|
@ -513,10 +514,12 @@ public class RemoteTaskRunner implements TaskRunner, TaskLogProvider
|
||||||
|
|
||||||
// Syncing state with Zookeeper - don't assign new tasks until the task we just assigned is actually running
|
// Syncing state with Zookeeper - don't assign new tasks until the task we just assigned is actually running
|
||||||
// on a worker - this avoids overflowing a worker with tasks
|
// on a worker - this avoids overflowing a worker with tasks
|
||||||
|
Stopwatch timeoutStopwatch = new Stopwatch();
|
||||||
|
timeoutStopwatch.start();
|
||||||
synchronized (statusLock) {
|
synchronized (statusLock) {
|
||||||
while (!isWorkerRunningTask(theWorker.getHost(), task.getId())) {
|
while (!isWorkerRunningTask(theWorker.getHost(), task.getId())) {
|
||||||
statusLock.wait(config.getTaskAssignmentTimeoutDuration().getMillis());
|
statusLock.wait(config.getTaskAssignmentTimeoutDuration().getMillis());
|
||||||
if (!isWorkerRunningTask(theWorker.getHost(), task.getId())) {
|
if (timeoutStopwatch.elapsedMillis() >= config.getTaskAssignmentTimeoutDuration().getMillis()) {
|
||||||
log.error(
|
log.error(
|
||||||
"Something went wrong! %s never ran task %s after %s!",
|
"Something went wrong! %s never ran task %s after %s!",
|
||||||
theWorker.getHost(),
|
theWorker.getHost(),
|
||||||
|
|
Loading…
Reference in New Issue