private void cleanSweepableTimestamps(ShardAndStrategy shardStrategy, long oldProgress, long newProgress) { if (firstIterationOfSweep(oldProgress)) { return; } long lastSweptPartitionPreviously = SweepQueueUtils.tsPartitionCoarse(oldProgress); long minimumSweepPartitionNextIteration = SweepQueueUtils.tsPartitionCoarse(newProgress + 1); if (minimumSweepPartitionNextIteration > lastSweptPartitionPreviously) { sweepableTimestamps.deleteRow(shardStrategy, lastSweptPartitionPreviously); log.info("Deleted persisted sweep queue information in table {} for partition {}.", LoggingArgs.tableRef(TargetedSweepTableFactory.of() .getSweepableTimestampsTable(null).getTableRef()), SafeArg.of("partition", lastSweptPartitionPreviously)); } }
@Test public void fineToCoarseIsCorrect() { long prime = 674506111L; Assertions.assertThat(SweepQueueUtils.partitionFineToCoarse(SweepQueueUtils.tsPartitionFine(prime))) .isEqualTo(SweepQueueUtils.tsPartitionCoarse(prime)); } }
private SweepableTimestampsTable.SweepableTimestampsRow computeRow(PartitionInfo partitionInfo) { return SweepableTimestampsTable.SweepableTimestampsRow.of( partitionInfo.shard(), SweepQueueUtils.tsPartitionCoarse(partitionInfo.timestamp()), partitionInfo.isConservative().persistToBytes()); }
private void cleanSweepableTimestamps(ShardAndStrategy shardStrategy, long oldProgress, long newProgress) { if (firstIterationOfSweep(oldProgress)) { return; } long lastSweptPartitionPreviously = SweepQueueUtils.tsPartitionCoarse(oldProgress); long minimumSweepPartitionNextIteration = SweepQueueUtils.tsPartitionCoarse(newProgress + 1); if (minimumSweepPartitionNextIteration > lastSweptPartitionPreviously) { sweepableTimestamps.deleteRow(shardStrategy, lastSweptPartitionPreviously); log.info("Deleted persisted sweep queue information in table {} for partition {}.", LoggingArgs.tableRef(TargetedSweepTableFactory.of() .getSweepableTimestampsTable(null).getTableRef()), SafeArg.of("partition", lastSweptPartitionPreviously)); } }
private SweepableTimestampsTable.SweepableTimestampsRow computeRow(PartitionInfo partitionInfo) { return SweepableTimestampsTable.SweepableTimestampsRow.of( partitionInfo.shard(), SweepQueueUtils.tsPartitionCoarse(partitionInfo.timestamp()), partitionInfo.isConservative().persistToBytes()); }