@Override public void resetTasksWithUnknownWorkerUUIDs(Set<String> knownWorkerUUIDs) { try (DbSession dbSession = dbClient.openSession(false)) { dbClient.ceQueueDao().resetTasksWithUnknownWorkerUUIDs(dbSession, knownWorkerUUIDs); dbSession.commit(); } }
@Test public void resetTasksWithUnknownWorkerUUIDs_with_empty_set_resets_status_of_all_pending_tasks() { CeQueueDto[] worker1 = {insertPending("u1"), insertPending("u2"), insertPending("u3"), insertPending("u4")}; CeQueueDto[] worker2 = {insertPending("o1"), insertPending("o2"), insertPending("o3"), insertPending("o4")}; long startedAt = alwaysIncreasingSystem2.now(); makeInProgress(WORKER_UUID_1, startedAt, worker1[0]); makeInProgress(WORKER_UUID_1, startedAt, worker1[3]); makeInProgress(WORKER_UUID_2, startedAt, worker2[0]); makeInProgress(WORKER_UUID_2, startedAt, worker2[3]); underTestAlwaysIncreasingSystem2.resetTasksWithUnknownWorkerUUIDs(db.getSession(), ImmutableSet.of()); verifyResetByResetTasks(worker1[0], startedAt); verifyUnchangedByResetToPendingForWorker(worker1[1]); verifyUnchangedByResetToPendingForWorker(worker1[2]); verifyResetByResetTasks(worker1[3], startedAt); verifyResetByResetTasks(worker2[0], startedAt); verifyUnchangedByResetToPendingForWorker(worker2[1]); verifyUnchangedByResetToPendingForWorker(worker2[2]); verifyResetByResetTasks(worker2[3], startedAt); }
@Test public void resetTasksWithUnknownWorkerUUIDs_set_resets_status_of_all_pending_tasks_with_unknown_workers() { CeQueueDto[] worker1 = {insertPending("u1"), insertPending("u2"), insertPending("u3"), insertPending("u4")}; CeQueueDto[] worker2 = {insertPending("o1"), insertPending("o2"), insertPending("o3"), insertPending("o4")}; long startedAt = alwaysIncreasingSystem2.now(); makeInProgress(WORKER_UUID_1, startedAt, worker1[0]); makeInProgress(WORKER_UUID_1, startedAt, worker1[3]); makeInProgress(WORKER_UUID_2, startedAt, worker2[0]); makeInProgress(WORKER_UUID_2, startedAt, worker2[3]); underTestAlwaysIncreasingSystem2.resetTasksWithUnknownWorkerUUIDs(db.getSession(), ImmutableSet.of(WORKER_UUID_1, "unknown")); verifyInProgressUnchangedByResetToPendingForWorker(worker1[0], WORKER_UUID_1, startedAt); verifyUnchangedByResetToPendingForWorker(worker1[1]); verifyUnchangedByResetToPendingForWorker(worker1[2]); verifyInProgressUnchangedByResetToPendingForWorker(worker1[3], WORKER_UUID_1, startedAt); verifyResetByResetTasks(worker2[0], startedAt); verifyUnchangedByResetToPendingForWorker(worker2[1]); verifyUnchangedByResetToPendingForWorker(worker2[2]); verifyResetByResetTasks(worker2[3], startedAt); }
@Override public void resetTasksWithUnknownWorkerUUIDs(Set<String> knownWorkerUUIDs) { try (DbSession dbSession = dbClient.openSession(false)) { dbClient.ceQueueDao().resetTasksWithUnknownWorkerUUIDs(dbSession, knownWorkerUUIDs); dbSession.commit(); } }