@Test public void testFailedEviction() { TaskRelocationPlan taskRelocationPlan = oneMigrationPlan().toBuilder().withTaskId("nonExistingTaskId").build(); Map<String, TaskRelocationStatus> result = step.evict(Collections.singletonMap("nonExistingTaskId", taskRelocationPlan)); assertThat(result).hasSize(1); TaskRelocationStatus relocationStatus = result.get("nonExistingTaskId"); assertThat(relocationStatus.getTaskId()).isEqualTo("nonExistingTaskId"); assertThat(relocationStatus.getStatusCode()).isEqualTo(TaskRelocationStatus.STATUS_EVICTION_ERROR); assertThat(relocationStatus.getTaskRelocationPlan()).isEqualTo(taskRelocationPlan); }
public Map<String, TaskRelocationStatus> evict(Map<String, TaskRelocationPlan> taskToEvict) { Stopwatch stopwatch = Stopwatch.createStarted(); try { Map<String, TaskRelocationStatus> result = execute(taskToEvict); metrics.onSuccess(result.size(), stopwatch.elapsed(TimeUnit.MILLISECONDS)); logger.debug("Eviction result: {}", result); return result; } catch (Exception e) { logger.error("Step processing error", e); metrics.onError(stopwatch.elapsed(TimeUnit.MILLISECONDS)); throw e; } }
TaskEvictionStep { public Map<String, TaskRelocationStatus> evict(Map<String, TaskRelocationPlan> taskToEvict) { Stopwatch stopwatch = Stopwatch.createStarted(); try { Map<String, TaskRelocationStatus> result = execute(taskToEvict); metrics.onSuccess(result.size(), stopwatch.elapsed(TimeUnit.MILLISECONDS)); logger.debug("Eviction result: {}", result); return result; } catch (Exception e) { logger.error("Step processing error", e); metrics.onError(stopwatch.elapsed(TimeUnit.MILLISECONDS)); throw e; } } }
TaskEvictionStep { public Map<String, TaskRelocationStatus> evict(Map<String, TaskRelocationPlan> taskToEvict) { Stopwatch stopwatch = Stopwatch.createStarted(); try { Map<String, TaskRelocationStatus> result = execute(taskToEvict); metrics.onSuccess(result.size(), stopwatch.elapsed(TimeUnit.MILLISECONDS)); logger.debug("Eviction result: {}", result); return result; } catch (Exception e) { logger.error("Step processing error", e); metrics.onError(stopwatch.elapsed(TimeUnit.MILLISECONDS)); throw e; } } TaskEvictionStep(EvictionServiceClient evictionServiceClient,
                            TitusRuntime titusRuntime,
                            RelocationTransactionLogger transactionLog,
                            Scheduler scheduler); }
TaskEvictionStep { public Map<String, TaskRelocationStatus> evict(Map<String, TaskRelocationPlan> taskToEvict) { Stopwatch stopwatch = Stopwatch.createStarted(); try { Map<String, TaskRelocationStatus> result = execute(taskToEvict); metrics.onSuccess(result.size(), stopwatch.elapsed(TimeUnit.MILLISECONDS)); logger.debug("Eviction result: {}", result); return result; } catch (Exception e) { logger.error("Step processing error", e); metrics.onError(stopwatch.elapsed(TimeUnit.MILLISECONDS)); throw e; } } TaskEvictionStep(EvictionServiceClient evictionServiceClient,
                            TitusRuntime titusRuntime,
                            RelocationTransactionLogger transactionLog,
                            Scheduler scheduler); Map<String, TaskRelocationStatus> evict(Map<String, TaskRelocationPlan> taskToEvict); }
TaskEvictionStep { public Map<String, TaskRelocationStatus> evict(Map<String, TaskRelocationPlan> taskToEvict) { Stopwatch stopwatch = Stopwatch.createStarted(); try { Map<String, TaskRelocationStatus> result = execute(taskToEvict); metrics.onSuccess(result.size(), stopwatch.elapsed(TimeUnit.MILLISECONDS)); logger.debug("Eviction result: {}", result); return result; } catch (Exception e) { logger.error("Step processing error", e); metrics.onError(stopwatch.elapsed(TimeUnit.MILLISECONDS)); throw e; } } TaskEvictionStep(EvictionServiceClient evictionServiceClient,
                            TitusRuntime titusRuntime,
                            RelocationTransactionLogger transactionLog,
                            Scheduler scheduler); Map<String, TaskRelocationStatus> evict(Map<String, TaskRelocationPlan> taskToEvict);  }