private Optional<TableToSweep> getNextTableToSweep(Transaction tx, SweepPriorityOverrideConfig overrideConfig) { Optional<TableToSweep> nextTableToSweep = nextTableToSweepProvider.getNextTableToSweep( tx, specificTableSweeper.getSweepRunner().getConservativeSweepTimestamp(), overrideConfig); if (nextTableToSweep.isPresent()) { // Check if we're resuming this table after a previous sweep nextTableToSweep = augmentWithProgress(nextTableToSweep.get()); currentTable = nextTableToSweep; } return nextTableToSweep; }
protected void setNextTableToSweep(TableReference tableRef) { doReturn(Optional.of(getTableToSweep(tableRef))).when(nextTableToSweepProvider).getNextTableToSweep(any(), anyLong()); doReturn(Optional.of(getTableToSweep(tableRef))).when(nextTableToSweepProvider).getNextTableToSweep(any(), anyLong(), any()); }
private void whenGettingNextTableToSweep() { when(calculator.calculateSweepPriorityScores(any(), anyLong())).thenReturn(priorities); tablesToSweep.add(provider.getNextTableToSweep(null, 0L, createOverrideConfig())); }
public Optional<TableToSweep> getNextTableToSweep( Transaction tx, long conservativeSweepTimestamp, SweepPriorityOverrideConfig overrideConfig) { if (!overrideConfig.priorityTables().isEmpty()) { Optional<TableToSweep> maybeChosenTable = attemptToChooseTable(overrideConfig); if (maybeChosenTable.isPresent()) { return maybeChosenTable; } } Map<TableReference, Double> scores = calculator.calculateSweepPriorityScores(tx, conservativeSweepTimestamp); Map<TableReference, Double> tablesWithNonZeroPriority = getTablesToBeConsideredForSweepAndScores(overrideConfig, scores); if (tablesWithNonZeroPriority.isEmpty()) { return logDecision(Optional.empty(), scores, overrideConfig); } List<TableReference> tablesOrderedByPriority = orderTablesByPriority(tablesWithNonZeroPriority); Optional<TableToSweep> chosenTable = attemptToChooseTableFromPrioritisedList(tablesOrderedByPriority, "it has a high priority score"); return logDecision(chosenTable, scores, overrideConfig); }
private Optional<TableToSweep> getNextTableToSweep(Transaction tx, SweepPriorityOverrideConfig overrideConfig) { Optional<TableToSweep> nextTableToSweep = nextTableToSweepProvider.getNextTableToSweep( tx, specificTableSweeper.getSweepRunner().getConservativeSweepTimestamp(), overrideConfig); if (nextTableToSweep.isPresent()) { // Check if we're resuming this table after a previous sweep nextTableToSweep = augmentWithProgress(nextTableToSweep.get()); currentTable = nextTableToSweep; } return nextTableToSweep; }
public Optional<TableToSweep> getNextTableToSweep( Transaction tx, long conservativeSweepTimestamp, SweepPriorityOverrideConfig overrideConfig) { if (!overrideConfig.priorityTables().isEmpty()) { Optional<TableToSweep> maybeChosenTable = attemptToChooseTable(overrideConfig); if (maybeChosenTable.isPresent()) { return maybeChosenTable; } } Map<TableReference, Double> scores = calculator.calculateSweepPriorityScores(tx, conservativeSweepTimestamp); Map<TableReference, Double> tablesWithNonZeroPriority = getTablesToBeConsideredForSweepAndScores(overrideConfig, scores); if (tablesWithNonZeroPriority.isEmpty()) { return logDecision(Optional.empty(), scores, overrideConfig); } List<TableReference> tablesOrderedByPriority = orderTablesByPriority(tablesWithNonZeroPriority); Optional<TableToSweep> chosenTable = attemptToChooseTableFromPrioritisedList(tablesOrderedByPriority, "it has a high priority score"); return logDecision(chosenTable, scores, overrideConfig); }