private void fastForwardTimestampByOneHundredMillion() { long currentTimestamp = timestamps.getFreshTimestamp(); timestamps.fastForwardTimestamp(currentTimestamp + ONE_HUNDRED_MILLION); } }
public static CassandraMutationTimestampProvider getMutationProviderWithStartingTimestamp(long timestamp) { InMemoryTimestampService timestampService = new InMemoryTimestampService(); timestampService.fastForwardTimestamp(timestamp); return CassandraMutationTimestampProviders.singleLongSupplierBacked(timestampService::getFreshTimestamp); } }
@Test public void canReadMultipleAgreedValuesEvenAfterAdditionalCoordinations() { timestampService.fastForwardTimestamp(COORDINATION_QUANTUM); writeTransactionService.putUnlessExists(1L, 8L); writeTransactionService.putUnlessExists(COORDINATION_QUANTUM + 1L, COORDINATION_QUANTUM + 5L); assertThat(readOnlyTransactionService.get( ImmutableList.of(1L, COORDINATION_QUANTUM + 1L, 2 * COORDINATION_QUANTUM + 1L))) .isEqualTo(ImmutableMap.of(1L, 8L, COORDINATION_QUANTUM + 1L, COORDINATION_QUANTUM + 5L)); } }
@Test public void canReadAlreadyAgreedValuesEvenAfterAdditionalCoordinations() { writeTransactionService.putUnlessExists(1L, 8L); assertThat(readOnlyTransactionService.get(1L)).isEqualTo(8L); assertThat(readOnlyTransactionService.get(8L)).isNull(); assertThat(readOnlyTransactionService.get(COORDINATION_QUANTUM + 1L)).isNull(); timestampService.fastForwardTimestamp(COORDINATION_QUANTUM); writeTransactionService.putUnlessExists(COORDINATION_QUANTUM + 1L, COORDINATION_QUANTUM + 5L); assertThat(readOnlyTransactionService.get(COORDINATION_QUANTUM + 1L)).isEqualTo(COORDINATION_QUANTUM + 5L); assertThat(readOnlyTransactionService.get(Long.MAX_VALUE)).isNull(); }