Skip to content

Commit

Permalink
add more check methods to ScopedConfig which check the values read fr…
Browse files Browse the repository at this point in the history
…om the config file and throws DittoConfigError when the value is not in the expected range;

use check methods in DefaultConfig classes to prevent miss configuration of Ditto services;
add missing config values;
remove maxFailures from things-search.conf (not used anymore);

Signed-off-by: Stefan Maute <stefan.maute@bosch.io>
  • Loading branch information
Stefan Maute committed Jul 5, 2021
1 parent f27ae0b commit 9bcf2b6
Show file tree
Hide file tree
Showing 81 changed files with 360 additions and 270 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@ final class DefaultThrottlingConfig implements ThrottlingConfig {
private final int limit;

private DefaultThrottlingConfig(final ScopedConfig config) {
interval = config.getDuration(ConfigValue.INTERVAL.getConfigPath());
limit = config.getInt(ConfigValue.LIMIT.getConfigPath());
interval = config.getNonNegativeDurationOrThrow(ConfigValue.INTERVAL);
limit = config.getPositiveIntOrThrow(ConfigValue.LIMIT);
}

static DefaultThrottlingConfig of(final Config config) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,9 @@ public final class DefaultHttpConfig implements HttpConfig, WithConfigPath {

private DefaultHttpConfig(final ConfigWithFallback config) {
hostname = config.getString(HttpConfigValue.HOSTNAME.getConfigPath());
port = config.getInt(HttpConfigValue.PORT.getConfigPath());
coordinatedShutdownTimeout = config.getDuration(HttpConfigValue.COORDINATED_SHUTDOWN_TIMEOUT.getConfigPath());
port = config.getPositiveIntOrThrow(HttpConfigValue.PORT);
coordinatedShutdownTimeout =
config.getNonNegativeAndNonZeroDurationOrThrow(HttpConfigValue.COORDINATED_SHUTDOWN_TIMEOUT);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,13 +42,13 @@ public final class DefaultLimitsConfig implements LimitsConfig, WithConfigPath {
private final int thingsSearchMaxPageSize;

private DefaultLimitsConfig(final ConfigWithFallback config) {
headersMaxSize = config.getBytes(LimitsConfigValue.HEADERS_MAX_SIZE.getConfigPath());
authSubjectsMaxSize = config.getInt(LimitsConfigValue.AUTH_SUBJECTS_MAX_SIZE.getConfigPath());
thingsMaxSize = config.getBytes(LimitsConfigValue.THINGS_MAX_SIZE.getConfigPath());
policiesMaxSize = config.getBytes(LimitsConfigValue.POLICIES_MAX_SIZE.getConfigPath());
messagesMaxSize = config.getBytes(LimitsConfigValue.MESSAGES_MAX_SIZE.getConfigPath());
thingsSearchDefaultPageSize = config.getInt(LimitsConfigValue.THINGS_SEARCH_DEFAULT_PAGE_SIZE.getConfigPath());
thingsSearchMaxPageSize = config.getInt(LimitsConfigValue.THINGS_SEARCH_MAX_PAGE_SIZE.getConfigPath());
headersMaxSize = config.getGreaterZeroBytesOrThrow(LimitsConfigValue.HEADERS_MAX_SIZE);
authSubjectsMaxSize = config.getPositiveIntOrThrow(LimitsConfigValue.AUTH_SUBJECTS_MAX_SIZE);
thingsMaxSize = config.getGreaterZeroBytesOrThrow(LimitsConfigValue.THINGS_MAX_SIZE);
policiesMaxSize = config.getGreaterZeroBytesOrThrow(LimitsConfigValue.POLICIES_MAX_SIZE);
messagesMaxSize = config.getGreaterZeroBytesOrThrow(LimitsConfigValue.MESSAGES_MAX_SIZE);
thingsSearchDefaultPageSize = config.getPositiveIntOrThrow(LimitsConfigValue.THINGS_SEARCH_DEFAULT_PAGE_SIZE);
thingsSearchMaxPageSize = config.getPositiveIntOrThrow(LimitsConfigValue.THINGS_SEARCH_MAX_PAGE_SIZE);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,11 +36,11 @@ public final class DefaultExponentialBackOffConfig implements ExponentialBackOff
private final Duration corruptedReceiveTimeout;

private DefaultExponentialBackOffConfig(final ScopedConfig config) {
min = config.getDuration(ExponentialBackOffConfigValue.MIN.getConfigPath());
max = config.getDuration(ExponentialBackOffConfigValue.MAX.getConfigPath());
randomFactor = config.getDouble(ExponentialBackOffConfigValue.RANDOM_FACTOR.getConfigPath());
min = config.getNonNegativeAndNonZeroDurationOrThrow(ExponentialBackOffConfigValue.MIN);
max = config.getNonNegativeDurationOrThrow(ExponentialBackOffConfigValue.MAX);
randomFactor = config.getGreaterZeroDoubleOrThrow(ExponentialBackOffConfigValue.RANDOM_FACTOR);
corruptedReceiveTimeout =
config.getDuration(ExponentialBackOffConfigValue.CORRUPTED_RECEIVE_TIMEOUT.getConfigPath());
config.getNonNegativeDurationOrThrow(ExponentialBackOffConfigValue.CORRUPTED_RECEIVE_TIMEOUT);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ public boolean equals(final Object o) {
return false;
}
final DefaultSupervisorConfig that = (DefaultSupervisorConfig) o;

return Objects.equals(exponentialBackOffConfig, that.exponentialBackOffConfig);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ public final class DefaultCachesConfig implements CachesConfig {
private final CacheConfig enforcerCacheConfig;

private DefaultCachesConfig(final ScopedConfig config) {
askTimeout = config.getDuration(CachesConfigValue.ASK_TIMEOUT.getConfigPath());
askTimeout = config.getNonNegativeAndNonZeroDurationOrThrow(CachesConfigValue.ASK_TIMEOUT);
idCacheConfig = DefaultCacheConfig.of(config, "id");
enforcerCacheConfig = DefaultCacheConfig.of(config, "enforcer");
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
import javax.annotation.concurrent.Immutable;

import org.eclipse.ditto.internal.utils.config.ConfigWithFallback;
import org.eclipse.ditto.internal.utils.config.ScopedConfig;

import com.typesafe.config.Config;

Expand All @@ -33,13 +34,13 @@ final class DefaultCreditDecisionConfig implements CreditDecisionConfig {
private final int creditForRequests;
private final int maxPendingRequests;

private DefaultCreditDecisionConfig(final Config conf) {
this.interval = conf.getDuration(ConfigValue.INTERVAL.getConfigPath());
this.metricReportTimeout = conf.getDuration(ConfigValue.METRIC_REPORT_TIMEOUT.getConfigPath());
this.timerThreshold = conf.getDuration(ConfigValue.TIMER_THRESHOLD.getConfigPath());
this.creditPerBatch = conf.getInt(ConfigValue.CREDIT_PER_BATCH.getConfigPath());
creditForRequests = conf.getInt(ConfigValue.CREDIT_FOR_REQUESTS.getConfigPath());
maxPendingRequests = conf.getInt(ConfigValue.MAX_PENDING_REQUESTS.getConfigPath());
private DefaultCreditDecisionConfig(final ScopedConfig conf) {
this.interval = conf.getNonNegativeAndNonZeroDurationOrThrow(ConfigValue.INTERVAL);
this.metricReportTimeout = conf.getNonNegativeAndNonZeroDurationOrThrow(ConfigValue.METRIC_REPORT_TIMEOUT);
this.timerThreshold = conf.getNonNegativeAndNonZeroDurationOrThrow(ConfigValue.TIMER_THRESHOLD);
this.creditPerBatch = conf.getGreaterZeroIntOrThrow(ConfigValue.CREDIT_PER_BATCH);
creditForRequests = conf.getGreaterZeroIntOrThrow(ConfigValue.CREDIT_FOR_REQUESTS);
maxPendingRequests = conf.getGreaterZeroIntOrThrow(ConfigValue.MAX_PENDING_REQUESTS);
}

static CreditDecisionConfig of(final Config config) {
Expand Down Expand Up @@ -109,4 +110,5 @@ public String toString() {
", maxPendingRequests" + maxPendingRequests +
"]";
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@ public final class DefaultEnforcementConfig implements EnforcementConfig {
private final boolean globalLiveResponseDispatching;

private DefaultEnforcementConfig(final ConfigWithFallback configWithFallback) {
askTimeout = configWithFallback.getDuration(EnforcementConfigValue.ASK_TIMEOUT.getConfigPath());
bufferSize = configWithFallback.getInt(EnforcementConfigValue.BUFFER_SIZE.getConfigPath());
askTimeout = configWithFallback.getNonNegativeAndNonZeroDurationOrThrow(EnforcementConfigValue.ASK_TIMEOUT);
bufferSize = configWithFallback.getPositiveIntOrThrow(EnforcementConfigValue.BUFFER_SIZE);
globalLiveResponseDispatching =
configWithFallback.getBoolean(EnforcementConfigValue.GLOBAL_LIVE_RESPONSE_DISPATCHING.getConfigPath());
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
import java.util.Objects;

import org.eclipse.ditto.internal.utils.config.ConfigWithFallback;
import org.eclipse.ditto.internal.utils.config.ScopedConfig;

import com.typesafe.config.Config;

Expand All @@ -34,14 +35,14 @@ final class DefaultPersistenceCleanupConfig implements PersistenceCleanupConfig
private final PersistenceIdsConfig persistenceIdsConfig;
private final Config config;

private DefaultPersistenceCleanupConfig(final Config config) {
private DefaultPersistenceCleanupConfig(final ScopedConfig config) {
this.enabled = config.getBoolean(ConfigValue.ENABLED.getConfigPath());
this.quietPeriod = config.getDuration(ConfigValue.QUIET_PERIOD.getConfigPath());
this.cleanupTimeout = config.getDuration(ConfigValue.CLEANUP_TIMEOUT.getConfigPath());
this.parallelism = config.getInt(ConfigValue.PARALLELISM.getConfigPath());
this.keptCreditDecisions = config.getInt(ConfigValue.KEEP_CREDIT_DECISIONS.getConfigPath());
this.keptActions = config.getInt(ConfigValue.KEEP_ACTIONS.getConfigPath());
this.keptEvents = config.getInt(ConfigValue.KEEP_EVENTS.getConfigPath());
this.quietPeriod = config.getNonNegativeAndNonZeroDurationOrThrow(ConfigValue.QUIET_PERIOD);
this.cleanupTimeout = config.getNonNegativeAndNonZeroDurationOrThrow(ConfigValue.CLEANUP_TIMEOUT);
this.parallelism = config.getGreaterZeroIntOrThrow(ConfigValue.PARALLELISM);
this.keptCreditDecisions = config.getPositiveIntOrThrow(ConfigValue.KEEP_CREDIT_DECISIONS);
this.keptActions = config.getPositiveIntOrThrow(ConfigValue.KEEP_ACTIONS);
this.keptEvents = config.getPositiveIntOrThrow(ConfigValue.KEEP_EVENTS);
this.creditDecisionConfig = DefaultCreditDecisionConfig.of(config);
this.persistenceIdsConfig = DefaultPersistenceIdsConfig.of(config);
this.config = config;
Expand All @@ -53,7 +54,8 @@ static PersistenceCleanupConfig of(final Config serviceSpecificConfig) {
}

static PersistenceCleanupConfig updated(final Config extractedConfig) {
return new DefaultPersistenceCleanupConfig(extractedConfig);
return new DefaultPersistenceCleanupConfig(
ConfigWithFallback.newInstance(extractedConfig, CONFIG_PATH, ConfigValue.values()));
}

@Override
Expand Down Expand Up @@ -145,4 +147,5 @@ public String toString() {
", persistenceIdsConfig" + persistenceIdsConfig +
"]";
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
import javax.annotation.concurrent.Immutable;

import org.eclipse.ditto.internal.utils.config.ConfigWithFallback;
import org.eclipse.ditto.internal.utils.config.ScopedConfig;

import com.typesafe.config.Config;

Expand All @@ -35,14 +36,14 @@ final class DefaultPersistenceIdsConfig implements PersistenceIdsConfig {
private final int maxRestarts;
private final Duration recovery;

private DefaultPersistenceIdsConfig(final Config config) {
burst = config.getInt(ConfigValue.BURST.getConfigPath());
streamRequestTimeout = config.getDuration(ConfigValue.STREAM_REQUEST_TIMEOUT.getConfigPath());
streamIdleTimeout = config.getDuration(ConfigValue.STREAM_IDLE_TIMEOUT.getConfigPath());
minBackoff = config.getDuration(ConfigValue.MIN_BACKOFF.getConfigPath());
maxBackoff = config.getDuration(ConfigValue.MAX_BACKOFF.getConfigPath());
maxRestarts = config.getInt(ConfigValue.MAX_RESTARTS.getConfigPath());
recovery = config.getDuration(ConfigValue.RECOVERY.getConfigPath());
private DefaultPersistenceIdsConfig(final ScopedConfig config) {
burst = config.getPositiveIntOrThrow(ConfigValue.BURST);
streamRequestTimeout = config.getNonNegativeAndNonZeroDurationOrThrow(ConfigValue.STREAM_REQUEST_TIMEOUT);
streamIdleTimeout = config.getNonNegativeAndNonZeroDurationOrThrow(ConfigValue.STREAM_IDLE_TIMEOUT);
minBackoff = config.getNonNegativeDurationOrThrow(ConfigValue.MIN_BACKOFF);
maxBackoff = config.getNonNegativeAndNonZeroDurationOrThrow(ConfigValue.MAX_BACKOFF);
maxRestarts = config.getGreaterZeroIntOrThrow(ConfigValue.MAX_RESTARTS);
recovery = config.getNonNegativeAndNonZeroDurationOrThrow(ConfigValue.RECOVERY);
}

static PersistenceIdsConfig of(final Config config) {
Expand Down Expand Up @@ -117,4 +118,5 @@ public String toString() {
", recovery" + recovery +
"]";
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ public final class DefaultThingsAggregatorConfig implements ThingsAggregatorConf

private DefaultThingsAggregatorConfig(final ScopedConfig config) {
singleRetrieveThingTimeout =
config.getDuration(ThingsAggregatorConfigValue.SINGLE_RETRIEVE_THING_TIMEOUT.getConfigPath());
maxParallelism = config.getInt(ThingsAggregatorConfigValue.MAX_PARALLELISM.getConfigPath());
config.getNonNegativeAndNonZeroDurationOrThrow(ThingsAggregatorConfigValue.SINGLE_RETRIEVE_THING_TIMEOUT);
maxParallelism = config.getGreaterZeroIntOrThrow(ThingsAggregatorConfigValue.MAX_PARALLELISM);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,6 @@ private DittoConciergeConfig(final ScopedConfig dittoScopedConfig) {
serviceSpecificConfig = DittoServiceConfig.of(dittoScopedConfig, CONFIG_PATH);
mongoDbConfig = DefaultMongoDbConfig.of(dittoScopedConfig);
healthCheckConfig = DefaultHealthCheckConfig.of(dittoScopedConfig);

enforcementConfig = DefaultEnforcementConfig.of(serviceSpecificConfig);
cachesConfig = DefaultCachesConfig.of(serviceSpecificConfig);
thingsAggregatorConfig = DefaultThingsAggregatorConfig.of(serviceSpecificConfig);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -150,4 +150,5 @@ public Object getDefaultValue() {
return defaultValue;
}
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -129,4 +129,5 @@ public String getConfigPath() {
return path;
}
}

}
2 changes: 2 additions & 0 deletions concierge/service/src/main/resources/concierge.conf
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,10 @@ ditto {
}

things-aggregator {

single-retrieve-thing-timeout = 30s
single-retrieve-thing-timeout = ${?THINGS_AGGREGATOR_SINGLE_RETRIEVE_THING_TIMEOUT}

max-parallelism = 20
max-parallelism = ${?THINGS_AGGREGATOR_MAX_PARALLELISM}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ public final class DefaultAmqp091Config implements Amqp091Config {
private final Duration publisherPendingAckTTL;

private DefaultAmqp091Config(final ScopedConfig config) {
publisherPendingAckTTL = config.getDuration(ConfigValue.PUBLISHER_PENDING_ACK_TTL.getConfigPath());
publisherPendingAckTTL = config.getNonNegativeAndNonZeroDurationOrThrow(ConfigValue.PUBLISHER_PENDING_ACK_TTL);
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,23 +51,23 @@ public final class DefaultAmqp10Config implements Amqp10Config, WithStringMapDec

private DefaultAmqp10Config(final ScopedConfig config) {
consumerRateLimitEnabled = config.getBoolean(Amqp10ConfigValue.CONSUMER_RATE_LIMIT_ENABLED.getConfigPath());
consumerMaxInFlight = config.getInt(Amqp10ConfigValue.CONSUMER_MAX_IN_FLIGHT.getConfigPath());
consumerMaxInFlight = config.getGreaterZeroIntOrThrow(Amqp10ConfigValue.CONSUMER_MAX_IN_FLIGHT);
consumerRedeliveryExpectationTimeout =
config.getDuration(Amqp10ConfigValue.CONSUMER_REDELIVERY_EXPECTATION_TIMEOUT.getConfigPath());
producerCacheSize = config.getInt(Amqp10ConfigValue.PRODUCER_CACHE_SIZE.getConfigPath());
config.getNonNegativeAndNonZeroDurationOrThrow(Amqp10ConfigValue.CONSUMER_REDELIVERY_EXPECTATION_TIMEOUT);
producerCacheSize = config.getPositiveIntOrThrow(Amqp10ConfigValue.PRODUCER_CACHE_SIZE);
backOffConfig = DefaultBackOffConfig.of(config.hasPath(BACKOFF_PATH)
? config
: ConfigFactory.parseString(BACKOFF_PATH + "={}"));
consumerThrottlingConfig = ThrottlingConfig.of(config.hasPath(CONSUMER_PATH)
? config.getConfig(CONSUMER_PATH)
: ConfigFactory.empty());
maxQueueSize = config.getInt(Amqp10ConfigValue.MAX_QUEUE_SIZE.getConfigPath());
messagePublishingParallelism = config.getInt(Amqp10ConfigValue.MESSAGE_PUBLISHING_PARALLELISM.getConfigPath());
globalConnectTimeout = config.getDuration(Amqp10ConfigValue.GLOBAL_CONNECT_TIMEOUT.getConfigPath());
globalSendTimeout = config.getDuration(Amqp10ConfigValue.GLOBAL_SEND_TIMEOUT.getConfigPath());
globalRequestTimeout = config.getDuration(Amqp10ConfigValue.GLOBAL_REQUEST_TIMEOUT.getConfigPath());
maxQueueSize = config.getGreaterZeroIntOrThrow(Amqp10ConfigValue.MAX_QUEUE_SIZE);
messagePublishingParallelism = config.getGreaterZeroIntOrThrow(Amqp10ConfigValue.MESSAGE_PUBLISHING_PARALLELISM);
globalConnectTimeout = config.getNonNegativeDurationOrThrow(Amqp10ConfigValue.GLOBAL_CONNECT_TIMEOUT);
globalSendTimeout = config.getNonNegativeDurationOrThrow(Amqp10ConfigValue.GLOBAL_SEND_TIMEOUT);
globalRequestTimeout = config.getNonNegativeDurationOrThrow(Amqp10ConfigValue.GLOBAL_REQUEST_TIMEOUT);
globalPrefetchPolicyAllCount =
config.getInt(Amqp10ConfigValue.GLOBAL_PREFETCH_POLICY_ALL_COUNT.getConfigPath());
config.getGreaterZeroIntOrThrow(Amqp10ConfigValue.GLOBAL_PREFETCH_POLICY_ALL_COUNT);
hmacAlgorithms = asStringMap(config, HttpPushConfig.ConfigValue.HMAC_ALGORITHMS.getConfigPath());
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,13 +53,6 @@ public TimeoutConfig getTimeoutConfig() {
}


@Override
public String toString() {
return getClass().getSimpleName() + " [" +
"timeoutConfig=" + timeoutConfig +
"]";
}

@Override
public boolean equals(@Nullable final Object o) {
if (this == o) {
Expand All @@ -77,4 +70,11 @@ public int hashCode() {
return Objects.hash(timeoutConfig);
}

@Override
public String toString() {
return getClass().getSimpleName() + " [" +
"timeoutConfig=" + timeoutConfig +
"]";
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -44,19 +44,21 @@ public final class DefaultClientConfig implements ClientConfig {
private final Duration clientActorRefsNotificationDelay;

private DefaultClientConfig(final ScopedConfig config) {
initTimeout = config.getDuration(ClientConfigValue.INIT_TIMEOUT.getConfigPath());
connectingMinTimeout = config.getDuration(ClientConfigValue.CONNECTING_MIN_TIMEOUT.getConfigPath());
connectingMaxTimeout = config.getDuration(ClientConfigValue.CONNECTING_MAX_TIMEOUT.getConfigPath());
disconnectingMaxTimeout = config.getDuration(ClientConfigValue.DISCONNECTING_MAX_TIMEOUT.getConfigPath());
disconnectAnnouncementTimeout = config.getDuration(
ClientConfigValue.DISCONNECT_ANNOUNCEMENT_TIMEOUT.getConfigPath());
subscriptionManagerTimeout = config.getDuration(ClientConfigValue.SUBSCRIPTION_MANAGER_TIMEOUT.getConfigPath());
connectingMaxTries = config.getInt(ClientConfigValue.CONNECTING_MAX_TRIES.getConfigPath());
testingTimeout = config.getDuration(ClientConfigValue.TESTING_TIMEOUT.getConfigPath());
minBackoff = config.getDuration(ClientConfigValue.MIN_BACKOFF.getConfigPath());
maxBackoff = config.getDuration(ClientConfigValue.MAX_BACKOFF.getConfigPath());
initTimeout = config.getNonNegativeDurationOrThrow(ClientConfigValue.INIT_TIMEOUT);
connectingMinTimeout = config.getNonNegativeDurationOrThrow(ClientConfigValue.CONNECTING_MIN_TIMEOUT);
connectingMaxTimeout = config.getNonNegativeAndNonZeroDurationOrThrow(ClientConfigValue.CONNECTING_MAX_TIMEOUT);
disconnectingMaxTimeout =
config.getNonNegativeAndNonZeroDurationOrThrow(ClientConfigValue.DISCONNECTING_MAX_TIMEOUT);
disconnectAnnouncementTimeout = config.getNonNegativeDurationOrThrow(
ClientConfigValue.DISCONNECT_ANNOUNCEMENT_TIMEOUT);
subscriptionManagerTimeout =
config.getNonNegativeDurationOrThrow(ClientConfigValue.SUBSCRIPTION_MANAGER_TIMEOUT);
connectingMaxTries = config.getPositiveIntOrThrow(ClientConfigValue.CONNECTING_MAX_TRIES);
testingTimeout = config.getNonNegativeAndNonZeroDurationOrThrow(ClientConfigValue.TESTING_TIMEOUT);
minBackoff = config.getNonNegativeDurationOrThrow(ClientConfigValue.MIN_BACKOFF);
maxBackoff = config.getNonNegativeAndNonZeroDurationOrThrow(ClientConfigValue.MAX_BACKOFF);
clientActorRefsNotificationDelay =
config.getDuration(ClientConfigValue.CLIENT_ACTOR_REFS_NOTIFICATION_DELAY.getConfigPath());
config.getNonNegativeDurationOrThrow(ClientConfigValue.CLIENT_ACTOR_REFS_NOTIFICATION_DELAY);
}

/**
Expand Down
Loading

0 comments on commit 9bcf2b6

Please sign in to comment.