gpt4 book ai didi

org.apache.druid.indexing.overlord.ZkWorker类的使用及代码示例

转载 作者:知者 更新时间:2024-03-13 09:54:21 25 4
gpt4 key购买 nike

本文整理了Java中org.apache.druid.indexing.overlord.ZkWorker类的一些代码示例,展示了ZkWorker类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ZkWorker类的具体详情如下:
包路径:org.apache.druid.indexing.overlord.ZkWorker
类名称:ZkWorker

ZkWorker介绍

[英]Holds information about a worker and a listener for task status changes associated with the worker.
[中]保存有关工作人员的信息,以及与该工作人员关联的任务状态更改的侦听器。

代码示例

代码示例来源:origin: apache/incubator-druid

log.info(
   "Worker[%s] completed task[%s] with status[%s]",
   zkWorker.getWorker().getHost(),
   taskStatus.getId(),
   taskStatus.getStatusCode()
 );
 zkWorker.setLastCompletedTaskTime(DateTimes.nowUtc());
} else {
 log.info("Workerless task[%s] completed with status[%s]", taskStatus.getId(), taskStatus.getStatusCode());
  zkWorker.resetContinuouslyFailedTasksCount();
  if (blackListedWorkers.remove(zkWorker)) {
   zkWorker.setBlacklistedUntil(null);
   log.info("[%s] removed from blacklist because a task finished with SUCCESS", zkWorker.getWorker());
  zkWorker.incrementContinuouslyFailedTasksCount();
  if (zkWorker.getContinuouslyFailedTasksCount() > config.getMaxRetriesBeforeBlacklist() &&
    blackListedWorkers.size() <= zkWorkers.size() * (config.getMaxPercentageBlacklistWorkers() / 100.0) - 1) {
   zkWorker.setBlacklistedUntil(DateTimes.nowUtc().plus(config.getWorkerBlackListBackoffTime()));
   if (blackListedWorkers.add(zkWorker)) {
    log.info(
      "Blacklisting [%s] until [%s] after [%,d] failed tasks in a row.",
      zkWorker.getWorker(),
      zkWorker.getBlacklistedUntil(),
      zkWorker.getContinuouslyFailedTasksCount()
    );

代码示例来源:origin: apache/incubator-druid

final PathChildrenCache statusCache = workerStatusPathChildrenCacheFactory.make(cf, workerStatusPath);
final SettableFuture<ZkWorker> retVal = SettableFuture.create();
final ZkWorker zkWorker = new ZkWorker(
  worker,
  statusCache,
zkWorker.addListener(
  new PathChildrenCacheListener()
zkWorker.start();
return retVal;

代码示例来源:origin: apache/incubator-druid

public ImmutableWorkerInfo toImmutable()
{
 return new ImmutableWorkerInfo(
   worker.get(),
   getCurrCapacityUsed(),
   getAvailabilityGroups(),
   getRunningTaskIds(),
   lastCompletedTaskTime.get(),
   blacklistedUntil.get()
 );
}

代码示例来源:origin: apache/incubator-druid

private boolean shouldRemoveNodeFromBlackList(ZkWorker zkWorker)
{
 if (blackListedWorkers.size() > zkWorkers.size() * (config.getMaxPercentageBlacklistWorkers() / 100.0)) {
  log.info(
    "Removing [%s] from blacklist because percentage of blacklisted workers exceeds [%d]",
    zkWorker.getWorker(),
    config.getMaxPercentageBlacklistWorkers()
  );
  return true;
 }
 long remainingMillis = zkWorker.getBlacklistedUntil().getMillis() - getCurrentTimeMillis();
 if (remainingMillis <= 0) {
  log.info("Removing [%s] from blacklist because backoff time elapsed", zkWorker.getWorker());
  return true;
 }
 log.info("[%s] still blacklisted for [%,ds]", zkWorker.getWorker(), remainingMillis / 1000);
 return false;
}

代码示例来源:origin: apache/incubator-druid

ZkWorker zkWorker = zkWorkers.get(worker);
try {
 if (getAssignedTasks(zkWorker.getWorker()).isEmpty() && isLazyWorker.apply(zkWorker.toImmutable())) {
  log.info("Adding Worker[%s] to lazySet!", zkWorker.getWorker().getHost());
  lazyWorkers.put(worker, zkWorker);
  if (lazyWorkers.size() == maxWorkers) {

代码示例来源:origin: apache/incubator-druid

Assert.assertEquals(
  1,
  remoteTaskRunner.findWorkerRunningTask(task1.getId()).getContinuouslyFailedTasksCount()
);
Assert.assertEquals(
  2,
  remoteTaskRunner.findWorkerRunningTask(task2.getId()).getContinuouslyFailedTasksCount()
);
Assert.assertEquals(
  0,
  remoteTaskRunner.findWorkerRunningTask(task2.getId()).getContinuouslyFailedTasksCount()
);
Assert.assertEquals(
  0,
  remoteTaskRunner.findWorkerRunningTask(task3.getId()).getContinuouslyFailedTasksCount()
);

代码示例来源:origin: apache/incubator-druid

public boolean isRunningTask(String taskId)
{
 return getRunningTasks().containsKey(taskId);
}

代码示例来源:origin: apache/incubator-druid

/**
 * We allow workers to change their own capacities and versions. They cannot change their own hosts or ips without
 * dropping themselves and re-announcing.
 */
private void updateWorker(final Worker worker)
{
 final ZkWorker zkWorker = zkWorkers.get(worker.getHost());
 if (zkWorker != null) {
  log.info("Worker[%s] updated its announcement from[%s] to[%s].", worker.getHost(), zkWorker.getWorker(), worker);
  zkWorker.setWorker(worker);
 } else {
  log.warn(
    "WTF, worker[%s] updated its announcement but we didn't have a ZkWorker for it. Ignoring.",
    worker.getHost()
  );
 }
}

代码示例来源:origin: apache/incubator-druid

/**
 * A task will be run only if there is no current knowledge in the RemoteTaskRunner of the task.
 *
 * @param task task to run
 */
@Override
public ListenableFuture<TaskStatus> run(final Task task)
{
 final RemoteTaskRunnerWorkItem completeTask, runningTask, pendingTask;
 if ((pendingTask = pendingTasks.get(task.getId())) != null) {
  log.info("Assigned a task[%s] that is already pending, not doing anything", task.getId());
  return pendingTask.getResult();
 } else if ((runningTask = runningTasks.get(task.getId())) != null) {
  ZkWorker zkWorker = findWorkerRunningTask(task.getId());
  if (zkWorker == null) {
   log.warn("Told to run task[%s], but no worker has started running it yet.", task.getId());
  } else {
   log.info("Task[%s] already running on %s.", task.getId(), zkWorker.getWorker().getHost());
   TaskAnnouncement announcement = zkWorker.getRunningTasks().get(task.getId());
   if (announcement.getTaskStatus().isComplete()) {
    taskComplete(runningTask, zkWorker, announcement.getTaskStatus());
   }
  }
  return runningTask.getResult();
 } else if ((completeTask = completeTasks.get(task.getId())) != null) {
  return completeTask.getResult();
 } else {
  return addPendingTask(task).getResult();
 }
}

代码示例来源:origin: apache/incubator-druid

zkWorker.getWorker(),
"/druid/worker/v1/task/%s/log?offset=%s",
taskId,

代码示例来源:origin: apache/incubator-druid

zkWorker.close();

代码示例来源:origin: apache/incubator-druid

(String key, ZkWorker value) -> value.toImmutable()
workersWithUnacknowledgedTask.remove(assignedWorker.getWorker().getHost());

代码示例来源:origin: apache/incubator-druid

Assert.assertEquals(
  ((i + 1) / 2),
  remoteTaskRunner.findWorkerRunningTask(task.getId()).getContinuouslyFailedTasksCount()
);

代码示例来源:origin: apache/incubator-druid

@JsonProperty("runningTasks")
public Collection<String> getRunningTaskIds()
{
 return getRunningTasks().keySet();
}

代码示例来源:origin: org.apache.druid/druid-indexing-service

/**
 * We allow workers to change their own capacities and versions. They cannot change their own hosts or ips without
 * dropping themselves and re-announcing.
 */
private void updateWorker(final Worker worker)
{
 final ZkWorker zkWorker = zkWorkers.get(worker.getHost());
 if (zkWorker != null) {
  log.info("Worker[%s] updated its announcement from[%s] to[%s].", worker.getHost(), zkWorker.getWorker(), worker);
  zkWorker.setWorker(worker);
 } else {
  log.warn(
    "WTF, worker[%s] updated its announcement but we didn't have a ZkWorker for it. Ignoring.",
    worker.getHost()
  );
 }
}

代码示例来源:origin: org.apache.druid/druid-indexing-service

private boolean shouldRemoveNodeFromBlackList(ZkWorker zkWorker)
{
 if (blackListedWorkers.size() > zkWorkers.size() * (config.getMaxPercentageBlacklistWorkers() / 100.0)) {
  log.info(
    "Removing [%s] from blacklist because percentage of blacklisted workers exceeds [%d]",
    zkWorker.getWorker(),
    config.getMaxPercentageBlacklistWorkers()
  );
  return true;
 }
 long remainingMillis = zkWorker.getBlacklistedUntil().getMillis() - getCurrentTimeMillis();
 if (remainingMillis <= 0) {
  log.info("Removing [%s] from blacklist because backoff time elapsed", zkWorker.getWorker());
  return true;
 }
 log.info("[%s] still blacklisted for [%,ds]", zkWorker.getWorker(), remainingMillis / 1000);
 return false;
}

代码示例来源:origin: org.apache.druid/druid-indexing-service

/**
 * A task will be run only if there is no current knowledge in the RemoteTaskRunner of the task.
 *
 * @param task task to run
 */
@Override
public ListenableFuture<TaskStatus> run(final Task task)
{
 final RemoteTaskRunnerWorkItem completeTask, runningTask, pendingTask;
 if ((pendingTask = pendingTasks.get(task.getId())) != null) {
  log.info("Assigned a task[%s] that is already pending, not doing anything", task.getId());
  return pendingTask.getResult();
 } else if ((runningTask = runningTasks.get(task.getId())) != null) {
  ZkWorker zkWorker = findWorkerRunningTask(task.getId());
  if (zkWorker == null) {
   log.warn("Told to run task[%s], but no worker has started running it yet.", task.getId());
  } else {
   log.info("Task[%s] already running on %s.", task.getId(), zkWorker.getWorker().getHost());
   TaskAnnouncement announcement = zkWorker.getRunningTasks().get(task.getId());
   if (announcement.getTaskStatus().isComplete()) {
    taskComplete(runningTask, zkWorker, announcement.getTaskStatus());
   }
  }
  return runningTask.getResult();
 } else if ((completeTask = completeTasks.get(task.getId())) != null) {
  return completeTask.getResult();
 } else {
  return addPendingTask(task).getResult();
 }
}

代码示例来源:origin: apache/incubator-druid

url = TaskRunnerUtils.makeWorkerURL(zkWorker.getWorker(), "/druid/worker/v1/task/%s/shutdown", taskId);
final StatusResponseHolder response = httpClient.go(
  new Request(HttpMethod.POST, url),
  zkWorker.getWorker().getHost(),
  response.getStatus(),
  response.getContent()
throw new RE(e, "Error in handling post to [%s] for task [%s]", zkWorker.getWorker().getHost(), taskId);

代码示例来源:origin: org.apache.druid/druid-indexing-service

zkWorker.close();

代码示例来源:origin: org.apache.druid/druid-indexing-service

log.info(
   "Worker[%s] completed task[%s] with status[%s]",
   zkWorker.getWorker().getHost(),
   taskStatus.getId(),
   taskStatus.getStatusCode()
 );
 zkWorker.setLastCompletedTaskTime(DateTimes.nowUtc());
} else {
 log.info("Workerless task[%s] completed with status[%s]", taskStatus.getId(), taskStatus.getStatusCode());
  zkWorker.resetContinuouslyFailedTasksCount();
  if (blackListedWorkers.remove(zkWorker)) {
   zkWorker.setBlacklistedUntil(null);
   log.info("[%s] removed from blacklist because a task finished with SUCCESS", zkWorker.getWorker());
  zkWorker.incrementContinuouslyFailedTasksCount();
  if (zkWorker.getContinuouslyFailedTasksCount() > config.getMaxRetriesBeforeBlacklist() &&
    blackListedWorkers.size() <= zkWorkers.size() * (config.getMaxPercentageBlacklistWorkers() / 100.0) - 1) {
   zkWorker.setBlacklistedUntil(DateTimes.nowUtc().plus(config.getWorkerBlackListBackoffTime()));
   if (blackListedWorkers.add(zkWorker)) {
    log.info(
      "Blacklisting [%s] until [%s] after [%,d] failed tasks in a row.",
      zkWorker.getWorker(),
      zkWorker.getBlacklistedUntil(),
      zkWorker.getContinuouslyFailedTasksCount()
    );

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com