public static CassandraMutationTimestampProvider getMutationProviderWithStartingTimestamp(long timestamp) { InMemoryTimestampService timestampService = new InMemoryTimestampService(); timestampService.fastForwardTimestamp(timestamp); return CassandraMutationTimestampProviders.singleLongSupplierBacked(timestampService::getFreshTimestamp); } }
@Override public KeyValueService createRawKeyValueService( MetricsManager metricsManager, KeyValueServiceConfig config, Supplier<Optional<KeyValueServiceRuntimeConfig>> runtimeConfig, Optional<LeaderConfig> leaderConfig, Optional<String> namespace, LongSupplier freshTimestampSource, boolean initializeAsync) { AtlasDbVersion.ensureVersionReported(); CassandraKeyValueServiceConfig preprocessedConfig = preprocessKvsConfig(config, runtimeConfig, namespace); Supplier<CassandraKeyValueServiceRuntimeConfig> cassandraRuntimeConfig = preprocessKvsRuntimeConfig( runtimeConfig); return CassandraKeyValueServiceImpl.create( metricsManager, preprocessedConfig, cassandraRuntimeConfig, leaderConfig, CassandraMutationTimestampProviders.singleLongSupplierBacked(freshTimestampSource), initializeAsync); }
private KeyValueService createAndRegisterKeyValueService() { KeyValueService kvs = CassandraKeyValueServiceImpl.create( metricsManager, CASSANDRA.getConfig(), CassandraResource.LEADER_CONFIG, CassandraMutationTimestampProviders.singleLongSupplierBacked( () -> { if (timestampService == null) { throw new NotInitializedException("timestamp service"); } return timestampService.getFreshTimestamp(); })); CASSANDRA.registerKvs(kvs); return kvs; }
@Override public KeyValueService createRawKeyValueService( MetricsManager metricsManager, KeyValueServiceConfig config, Supplier<Optional<KeyValueServiceRuntimeConfig>> runtimeConfig, Optional<LeaderConfig> leaderConfig, Optional<String> namespace, LongSupplier freshTimestampSource, boolean initializeAsync) { AtlasDbVersion.ensureVersionReported(); CassandraKeyValueServiceConfig preprocessedConfig = preprocessKvsConfig(config, runtimeConfig, namespace); Supplier<CassandraKeyValueServiceRuntimeConfig> cassandraRuntimeConfig = preprocessKvsRuntimeConfig( runtimeConfig); return CassandraKeyValueServiceImpl.create( metricsManager, preprocessedConfig, cassandraRuntimeConfig, leaderConfig, CassandraMutationTimestampProviders.singleLongSupplierBacked(freshTimestampSource), initializeAsync); }