@Provides @Singleton @Named("rawKvs") public KeyValueService provideRawKeyValueService(ServicesConfig config, MetricsManager metricsManager) { return config.atlasDbSupplier(metricsManager).getKeyValueService(); }
public ServiceDiscoveringAtlasSupplier( MetricsManager metricsManager, KeyValueServiceConfig config, java.util.function.Supplier<Optional<KeyValueServiceRuntimeConfig>> runtimeConfig, Optional<LeaderConfig> leaderConfig, Optional<String> namespace, Optional<TableReference> timestampTable, boolean initializeAsync, LongSupplier timestampSupplier) { // TODO (jkong): Remove some duplication between the above constructor and this this.config = config; this.leaderConfig = leaderConfig; AtlasDbFactory atlasFactory = createAtlasFactoryOfCorrectType(config); keyValueService = Suppliers.memoize( () -> atlasFactory.createRawKeyValueService( metricsManager, config, runtimeConfig, leaderConfig, namespace, timestampSupplier, initializeAsync)); timestampService = () -> atlasFactory.createTimestampService(getKeyValueService(), timestampTable, initializeAsync); timestampStoreInvalidator = () -> atlasFactory.createTimestampStoreInvalidator(getKeyValueService()); }
@Test public void delegateToFactoriesAnnotatedWithAutoServiceForCreatingKeyValueServices() { ServiceDiscoveringAtlasSupplier atlasSupplier = new ServiceDiscoveringAtlasSupplier( metrics, kvsConfig, leaderConfig); assertThat( atlasSupplier.getKeyValueService(), is(delegate.createRawKeyValueService(metrics, kvsConfig, leaderConfig))); }
@Provides @Singleton @Named("rawKvs") public KeyValueService provideRawKeyValueService(ServicesConfig config, MetricsManager metricsManager) { return config.atlasDbSupplier(metricsManager).getKeyValueService(); }
public ServiceDiscoveringAtlasSupplier( MetricsManager metricsManager, KeyValueServiceConfig config, java.util.function.Supplier<Optional<KeyValueServiceRuntimeConfig>> runtimeConfig, Optional<LeaderConfig> leaderConfig, Optional<String> namespace, Optional<TableReference> timestampTable, boolean initializeAsync, LongSupplier timestampSupplier) { // TODO (jkong): Remove some duplication between the above constructor and this this.config = config; this.leaderConfig = leaderConfig; AtlasDbFactory atlasFactory = createAtlasFactoryOfCorrectType(config); keyValueService = Suppliers.memoize( () -> atlasFactory.createRawKeyValueService( metricsManager, config, runtimeConfig, leaderConfig, namespace, timestampSupplier, initializeAsync)); timestampService = () -> atlasFactory.createTimestampService(getKeyValueService(), timestampTable, initializeAsync); timestampStoreInvalidator = () -> atlasFactory.createTimestampStoreInvalidator(getKeyValueService()); }
KeyValueService kvs = atlasFactory.getKeyValueService(); kvs = ProfilingKeyValueService.create(kvs); kvs = new SafeTableClearerKeyValueService(lockAndTimestampServices.timelock()::getImmutableTimestamp, kvs);
KeyValueService kvs = atlasFactory.getKeyValueService(); kvs = ProfilingKeyValueService.create(kvs); kvs = new SafeTableClearerKeyValueService(lockAndTimestampServices.timelock()::getImmutableTimestamp, kvs);