Examples of IScheduledTask


Examples of org.apache.aurora.scheduler.storage.entities.IScheduledTask

        .andReturn(Optional.<IHostAttributes>absent());

    control.replay();
    schedulerActivated();

    IScheduledTask a = makeTask(JOB_A, RUNNING, "a");
    changeState(a, LOST);
    // Since no attributes are stored for the host, a variable is not exported/updated.
  }
View Full Code Here

Examples of org.apache.aurora.scheduler.storage.entities.IScheduledTask

        rescheduleCalculator.getFlappingPenaltyMs(setAncestor(makeTask("b", INIT), ancestorId)));
  }

  @Test
  public void testFlappingTask() {
    IScheduledTask ancestor = makeFlappyTask("a");
    storageUtil.expectTaskFetch(Query.taskScoped(Tasks.id(ancestor)), ancestor);
    long penaltyMs = 1000L;
    expect(backoff.calculateBackoffMs(0L)).andReturn(penaltyMs);

    control.replay();
View Full Code Here

Examples of org.apache.aurora.scheduler.storage.entities.IScheduledTask

  @Test
  public void testFlappingTasksBackoffTruncation() {
    // Ensures that the reschedule calculator detects penalty truncation and avoids inspecting
    // ancestors once truncated.
    IScheduledTask taskA = setAncestor(makeFlappyTask("a"), "bugIfQueried");
    IScheduledTask taskB = setAncestor(makeFlappyTask("b"), Tasks.id(taskA));
    IScheduledTask taskC = setAncestor(makeFlappyTask("c"), Tasks.id(taskB));
    IScheduledTask taskD = setAncestor(makeFlappyTask("d"), Tasks.id(taskC));

    Map<IScheduledTask, Long> ancestorsAndPenalties = ImmutableMap.of(
        taskD, 100L,
        taskC, 200L,
        taskB, 300L,
        taskA, 300L);

    long lastPenalty = 0L;
    for (Map.Entry<IScheduledTask, Long> taskAndPenalty : ancestorsAndPenalties.entrySet()) {
      storageUtil.expectTaskFetch(
          Query.taskScoped(Tasks.id(taskAndPenalty.getKey())),
          taskAndPenalty.getKey());
      expect(backoff.calculateBackoffMs(lastPenalty)).andReturn(taskAndPenalty.getValue());
      lastPenalty = taskAndPenalty.getValue();
    }

    control.replay();

    IScheduledTask newTask = setAncestor(makeFlappyTask("newTask"), Tasks.id(taskD));
    assertEquals(300L, rescheduleCalculator.getFlappingPenaltyMs(newTask));
  }
View Full Code Here

Examples of org.apache.aurora.scheduler.storage.entities.IScheduledTask

    assertEquals(300L, rescheduleCalculator.getFlappingPenaltyMs(newTask));
  }

  @Test
  public void testNoPenaltyForInterruptedTasks() {
    IScheduledTask ancestor = setEvents(
        makeTask("a", KILLED),
        ImmutableMap.of(INIT, 0L, PENDING, 100L, RUNNING, 200L, KILLING, 300L, KILLED, 400L));
    storageUtil.expectTaskFetch(Query.taskScoped(Tasks.id(ancestor)), ancestor);

    control.replay();
View Full Code Here

Examples of org.apache.aurora.scheduler.storage.entities.IScheduledTask

  private Capture<Runnable> expectTaskWatch() {
    return expectTaskWatch(TIMEOUT_MS);
  }

  private void changeState(String taskId, ScheduleStatus from, ScheduleStatus to) {
    IScheduledTask task = IScheduledTask.build(new ScheduledTask()
        .setStatus(to)
        .setAssignedTask(new AssignedTask().setTaskId(taskId)));
    timeout.recordStateChange(TaskStateChange.transition(task, from));
  }
View Full Code Here

Examples of org.apache.aurora.scheduler.storage.entities.IScheduledTask

  private static Predicate<Task> queryFilter(final TaskQuery query) {
    return new Predicate<Task>() {
      @Override
      public boolean apply(Task canonicalTask) {
        IScheduledTask task = canonicalTask.storedTask;
        ITaskConfig config = task.getAssignedTask().getTask();
        if (query.getOwner() != null) {
          if (!StringUtils.isBlank(query.getOwner().getRole())
              && !query.getOwner().getRole().equals(config.getOwner().getRole())) {
            return false;
          }
          if (!StringUtils.isBlank(query.getOwner().getUser())
              && !query.getOwner().getUser().equals(config.getOwner().getUser())) {
            return false;
          }
        }
        if (query.getEnvironment() != null
            && !query.getEnvironment().equals(config.getEnvironment())) {
          return false;
        }
        if (query.getJobName() != null && !query.getJobName().equals(config.getJobName())) {
          return false;
        }

        if (query.getJobKeysSize() > 0
            && !query.getJobKeys().contains(JobKeys.from(config).newBuilder())) {
          return false;
        }
        if (query.getTaskIds() != null && !query.getTaskIds().contains(Tasks.id(task))) {
            return false;
        }

        if (query.getStatusesSize() > 0 && !query.getStatuses().contains(task.getStatus())) {
          return false;
        }
        if (query.getSlaveHostsSize() > 0
            && !query.getSlaveHosts().contains(task.getAssignedTask().getSlaveHost())) {
          return false;
        }
        if (query.getInstanceIdsSize() > 0
            && !query.getInstanceIds().contains(task.getAssignedTask().getInstanceId())) {
          return false;
        }

        return true;
      }
View Full Code Here

Examples of org.apache.aurora.scheduler.storage.entities.IScheduledTask

    return capture;
  }

  @Test
  public void testTaskDeletedBeforeEvaluating() {
    final IScheduledTask task = makeTask("a");

    expect(backoffStrategy.calculateBackoffMs(0)).andReturn(0L).atLeastOnce();
    Capture<Runnable> evaluate = expectEvaluate();

    expect(rateLimiter.acquire()).andReturn(0D);
View Full Code Here

Examples of org.apache.aurora.scheduler.storage.entities.IScheduledTask

      changeStatus(taskId, ASSIGNED, STARTING, RUNNING);
      assertEquals(i - 1, getTask(taskId).getFailureCount());
      changeStatus(taskId, FAILED);

      assertTaskCount(i + 1);
      IScheduledTask rescheduled = getOnlyTask(Query.unscoped().byStatus(PENDING));
      assertEquals(i, rescheduled.getFailureCount());
    }

    assertEquals(totalFailures, getTasksByStatus(FAILED).size());
    assertEquals(1, getTasksByStatus(PENDING).size());
  }
View Full Code Here

Examples of org.apache.aurora.scheduler.storage.entities.IScheduledTask

      assertEquals(i - 1, getTask(taskId).getFailureCount());
      changeStatus(taskId, FAILED);

      if (i != maxFailures) {
        assertTaskCount(i + 1);
        IScheduledTask rescheduled = getOnlyTask(Query.unscoped().byStatus(PENDING));
        assertEquals(i, rescheduled.getFailureCount());
      } else {
        assertTaskCount(maxFailures);
      }
    }
View Full Code Here

Examples of org.apache.aurora.scheduler.storage.entities.IScheduledTask

    Injector injector = getInjector(memStorage);
    scheduler = injector.getInstance(TaskScheduler.class);
    eventSink = PubsubTestUtil.startPubsub(injector);

    ScheduledTask builder = TASK_A.newBuilder();
    final IScheduledTask taskA = IScheduledTask.build(builder.setStatus(PENDING));
    builder.getAssignedTask().setTaskId("b");
    final IScheduledTask taskB = IScheduledTask.build(builder.setStatus(THROTTLED));

    memStorage.write(new MutateWork.NoResult.Quiet() {
      @Override
      protected void execute(MutableStoreProvider store) {
        store.getUnsafeTaskStore().saveTasks(ImmutableSet.of(taskA, taskB));
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.