private boolean areTimeAndLockConfigsAbsent() { return !lock().isPresent() && !timestamp().isPresent(); }
private void checkLockAndTimestampBlocks() { Preconditions.checkState(lock().isPresent() == timestamp().isPresent(), "Lock and timestamp server blocks must either both be present or both be absent."); checkServersListHasAtLeastOneServerIfPresent(lock()); checkServersListHasAtLeastOneServerIfPresent(timestamp()); }
private static boolean remoteTimestampAndLockOrLeaderBlocksPresent(AtlasDbConfig config) { return (config.timestamp().isPresent() && config.lock().isPresent()) || config.leader().isPresent(); }
private void setUpRemoteTimestampAndLockBlocksInConfig() { when(config.timestamp()).thenReturn(Optional.of(rawRemoteServerConfig)); when(config.lock()).thenReturn(Optional.of(rawRemoteServerConfig)); }
private static LockAndTimestampServices createRawInstrumentedServices( MetricsManager metricsManager, AtlasDbConfig config, Supplier<AtlasDbRuntimeConfig> runtimeConfigSupplier, Consumer<Object> env, com.google.common.base.Supplier<LockService> lock, com.google.common.base.Supplier<TimestampService> time, com.google.common.base.Supplier<TimestampManagementService> timeManagement, TimestampStoreInvalidator invalidator, String userAgent) { AtlasDbRuntimeConfig initialRuntimeConfig = runtimeConfigSupplier.get(); assertNoSpuriousTimeLockBlockInRuntimeConfig(config, initialRuntimeConfig); if (config.leader().isPresent()) { return createRawLeaderServices( metricsManager, config.leader().get(), env, lock, time, timeManagement, userAgent); } else if (config.timestamp().isPresent() && config.lock().isPresent()) { return createRawRemoteServices(metricsManager, config, userAgent); } else if (isUsingTimeLock(config, initialRuntimeConfig)) { return createRawServicesFromTimeLock(metricsManager, config, runtimeConfigSupplier, invalidator, userAgent); } else { return createRawEmbeddedServices(metricsManager, env, lock, time, timeManagement); } }
private static LockAndTimestampServices createRawRemoteServices( MetricsManager metricsManager, AtlasDbConfig config, String userAgent) { LockService lockService = new ServiceCreator<>(metricsManager, LockService.class, userAgent) .apply(config.lock().get()); TimestampService timeService = new ServiceCreator<>(metricsManager, TimestampService.class, userAgent) .apply(config.timestamp().get()); TimestampManagementService timestampManagementService = new ServiceCreator<>(metricsManager, TimestampManagementService.class, userAgent) .apply(config.timestamp().get()); return ImmutableLockAndTimestampServices.builder() .lock(lockService) .timestamp(timeService) .timestampManagement(timestampManagementService) .timelock(new LegacyTimelockService(timeService, lockService, LOCK_CLIENT)) .build(); }
@Test public void addingFallbackSslAddsItToLockBlock() { AtlasDbConfig withoutSsl = ImmutableAtlasDbConfig.builder() .keyValueService(KVS_CONFIG_WITH_NAMESPACE) .lock(SINGLETON_SERVER_LIST) .timestamp(SINGLETON_SERVER_LIST) .build(); AtlasDbConfig withSsl = AtlasDbConfigs.addFallbackSslConfigurationToAtlasDbConfig(withoutSsl, SSL_CONFIG); assertThat(withSsl.lock().get().sslConfiguration(), is(SSL_CONFIG)); assertThat(withoutSsl.getNamespaceString(), equalTo(TEST_NAMESPACE)); }
public static AtlasDbConfig addFallbackSslConfigurationToAtlasDbConfig( AtlasDbConfig config, Optional<SslConfiguration> sslConfiguration) { return ImmutableAtlasDbConfig.builder() .from(config) .leader(addFallbackSslConfigurationToLeader(config.leader(), sslConfiguration)) .lock(addFallbackSslConfigurationToServerList(config.lock(), sslConfiguration)) .timestamp(addFallbackSslConfigurationToServerList(config.timestamp(), sslConfiguration)) .timelock(addFallbackSslConfigurationToTimeLockClientConfig(config.timelock(), sslConfiguration)) .build(); }
when(config.leader()).thenReturn(Optional.empty()); when(config.timestamp()).thenReturn(Optional.empty()); when(config.lock()).thenReturn(Optional.empty()); when(config.timelock()).thenReturn(Optional.empty()); when(config.keyValueService()).thenReturn(new InMemoryAtlasDbConfig());
private boolean areTimeAndLockConfigsAbsent() { return !lock().isPresent() && !timestamp().isPresent(); }
private void checkLockAndTimestampBlocks() { Preconditions.checkState(lock().isPresent() == timestamp().isPresent(), "Lock and timestamp server blocks must either both be present or both be absent."); checkServersListHasAtLeastOneServerIfPresent(lock()); checkServersListHasAtLeastOneServerIfPresent(timestamp()); }
private static boolean remoteTimestampAndLockOrLeaderBlocksPresent(AtlasDbConfig config) { return (config.timestamp().isPresent() && config.lock().isPresent()) || config.leader().isPresent(); }
private static LockAndTimestampServices createRawInstrumentedServices( MetricsManager metricsManager, AtlasDbConfig config, Supplier<AtlasDbRuntimeConfig> runtimeConfigSupplier, Consumer<Object> env, com.google.common.base.Supplier<LockService> lock, com.google.common.base.Supplier<TimestampService> time, com.google.common.base.Supplier<TimestampManagementService> timeManagement, TimestampStoreInvalidator invalidator, String userAgent) { AtlasDbRuntimeConfig initialRuntimeConfig = runtimeConfigSupplier.get(); assertNoSpuriousTimeLockBlockInRuntimeConfig(config, initialRuntimeConfig); if (config.leader().isPresent()) { return createRawLeaderServices( metricsManager, config.leader().get(), env, lock, time, timeManagement, userAgent); } else if (config.timestamp().isPresent() && config.lock().isPresent()) { return createRawRemoteServices(metricsManager, config, userAgent); } else if (isUsingTimeLock(config, initialRuntimeConfig)) { return createRawServicesFromTimeLock(metricsManager, config, runtimeConfigSupplier, invalidator, userAgent); } else { return createRawEmbeddedServices(metricsManager, env, lock, time, timeManagement); } }
private static LockAndTimestampServices createRawRemoteServices( MetricsManager metricsManager, AtlasDbConfig config, String userAgent) { LockService lockService = new ServiceCreator<>(metricsManager, LockService.class, userAgent) .apply(config.lock().get()); TimestampService timeService = new ServiceCreator<>(metricsManager, TimestampService.class, userAgent) .apply(config.timestamp().get()); TimestampManagementService timestampManagementService = new ServiceCreator<>(metricsManager, TimestampManagementService.class, userAgent) .apply(config.timestamp().get()); return ImmutableLockAndTimestampServices.builder() .lock(lockService) .timestamp(timeService) .timestampManagement(timestampManagementService) .timelock(new LegacyTimelockService(timeService, lockService, LOCK_CLIENT)) .build(); }
public static AtlasDbConfig addFallbackSslConfigurationToAtlasDbConfig( AtlasDbConfig config, Optional<SslConfiguration> sslConfiguration) { return ImmutableAtlasDbConfig.builder() .from(config) .leader(addFallbackSslConfigurationToLeader(config.leader(), sslConfiguration)) .lock(addFallbackSslConfigurationToServerList(config.lock(), sslConfiguration)) .timestamp(addFallbackSslConfigurationToServerList(config.timestamp(), sslConfiguration)) .timelock(addFallbackSslConfigurationToTimeLockClientConfig(config.timelock(), sslConfiguration)) .build(); }