private void execute(Set<TableReference> tables, Consumer<Set<TableReference>> destructiveAction) { Set<TableReference> conservativeTables = getConservativeTables(tables); Set<TableReference> safeTables = Sets.difference(tables, conservativeTables); destructiveAction.accept(safeTables); if (conservativeTables.isEmpty()) { return; } long immutableTimestamp = immutableTimestampSupplier.getImmutableTimestamp(); destructiveAction.accept(conservativeTables); watermarkStore.updateWatermarks(immutableTimestamp, conservativeTables); } }
private void execute(Set<TableReference> tables, Consumer<Set<TableReference>> destructiveAction) { Set<TableReference> conservativeTables = getConservativeTables(tables); Set<TableReference> safeTables = Sets.difference(tables, conservativeTables); destructiveAction.accept(safeTables); if (conservativeTables.isEmpty()) { return; } long immutableTimestamp = immutableTimestampSupplier.getImmutableTimestamp(); destructiveAction.accept(conservativeTables); watermarkStore.updateWatermarks(immutableTimestamp, conservativeTables); } }