Interface RedisProxy.ConnPoolSettingsOrBuilder
-
- All Superinterfaces:
com.google.protobuf.MessageLiteOrBuilder,com.google.protobuf.MessageOrBuilder
- All Known Implementing Classes:
RedisProxy.ConnPoolSettings,RedisProxy.ConnPoolSettings.Builder
- Enclosing class:
- RedisProxy
public static interface RedisProxy.ConnPoolSettingsOrBuilder extends com.google.protobuf.MessageOrBuilder
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description com.google.protobuf.DurationgetBufferFlushTimeout()The encoded request buffer is flushed N milliseconds after the first request has been encoded, unless the buffer size has already exceeded ``max_buffer_size_before_flush``.com.google.protobuf.DurationOrBuildergetBufferFlushTimeoutOrBuilder()The encoded request buffer is flushed N milliseconds after the first request has been encoded, unless the buffer size has already exceeded ``max_buffer_size_before_flush``.RedisProxy.ConnectionRateLimitgetConnectionRateLimit()Ops or connection timeout triggers reconnection to redis server which could result in reconnection storm to busy redis server.RedisProxy.ConnectionRateLimitOrBuildergetConnectionRateLimitOrBuilder()Ops or connection timeout triggers reconnection to redis server which could result in reconnection storm to busy redis server.DnsCacheConfiggetDnsCacheConfig()If ``enable_redirection`` is set to true this option configures the DNS cache that the connection pool will use to resolve hostnames that are returned with MOVED and ASK responses.DnsCacheConfigOrBuildergetDnsCacheConfigOrBuilder()If ``enable_redirection`` is set to true this option configures the DNS cache that the connection pool will use to resolve hostnames that are returned with MOVED and ASK responses.booleangetEnableCommandStats()Enable per-command statistics per upstream cluster, in addition to the filter level aggregate count.booleangetEnableHashtagging()Use hash tagging on every redis key to guarantee that keys with the same hash tag will be forwarded to the same upstream.booleangetEnableRedirection()Accept `moved and ask redirection <https://redis.io/topics/cluster-spec#redirection-and-resharding>`_ errors from upstream redis servers, and retry commands to the specified target server.intgetMaxBufferSizeBeforeFlush()Maximum size of encoded request buffer before flush is triggered and encoded requests are sent upstream.com.google.protobuf.UInt32ValuegetMaxUpstreamUnknownConnections()``max_upstream_unknown_connections`` controls how many upstream connections to unknown hosts can be created at any given time by any given worker thread (see ``enable_redirection`` for more details).com.google.protobuf.UInt32ValueOrBuildergetMaxUpstreamUnknownConnectionsOrBuilder()``max_upstream_unknown_connections`` controls how many upstream connections to unknown hosts can be created at any given time by any given worker thread (see ``enable_redirection`` for more details).com.google.protobuf.DurationgetOpTimeout()Per-operation timeout in milliseconds.com.google.protobuf.DurationOrBuildergetOpTimeoutOrBuilder()Per-operation timeout in milliseconds.RedisProxy.ConnPoolSettings.ReadPolicygetReadPolicy()Read policy.intgetReadPolicyValue()Read policy.booleanhasBufferFlushTimeout()The encoded request buffer is flushed N milliseconds after the first request has been encoded, unless the buffer size has already exceeded ``max_buffer_size_before_flush``.booleanhasConnectionRateLimit()Ops or connection timeout triggers reconnection to redis server which could result in reconnection storm to busy redis server.booleanhasDnsCacheConfig()If ``enable_redirection`` is set to true this option configures the DNS cache that the connection pool will use to resolve hostnames that are returned with MOVED and ASK responses.booleanhasMaxUpstreamUnknownConnections()``max_upstream_unknown_connections`` controls how many upstream connections to unknown hosts can be created at any given time by any given worker thread (see ``enable_redirection`` for more details).booleanhasOpTimeout()Per-operation timeout in milliseconds.-
Methods inherited from interface com.google.protobuf.MessageOrBuilder
findInitializationErrors, getAllFields, getDefaultInstanceForType, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
-
-
-
-
Method Detail
-
hasOpTimeout
boolean hasOpTimeout()
Per-operation timeout in milliseconds. The timer starts when the first command of a pipeline is written to the backend connection. Each response received from Redis resets the timer since it signifies that the next command is being processed by the backend. The only exception to this behavior is when a connection to a backend is not yet established. In that case, the connect timeout on the cluster will govern the timeout until the connection is ready.
.google.protobuf.Duration op_timeout = 1 [(.validate.rules) = { ... }- Returns:
- Whether the opTimeout field is set.
-
getOpTimeout
com.google.protobuf.Duration getOpTimeout()
Per-operation timeout in milliseconds. The timer starts when the first command of a pipeline is written to the backend connection. Each response received from Redis resets the timer since it signifies that the next command is being processed by the backend. The only exception to this behavior is when a connection to a backend is not yet established. In that case, the connect timeout on the cluster will govern the timeout until the connection is ready.
.google.protobuf.Duration op_timeout = 1 [(.validate.rules) = { ... }- Returns:
- The opTimeout.
-
getOpTimeoutOrBuilder
com.google.protobuf.DurationOrBuilder getOpTimeoutOrBuilder()
Per-operation timeout in milliseconds. The timer starts when the first command of a pipeline is written to the backend connection. Each response received from Redis resets the timer since it signifies that the next command is being processed by the backend. The only exception to this behavior is when a connection to a backend is not yet established. In that case, the connect timeout on the cluster will govern the timeout until the connection is ready.
.google.protobuf.Duration op_timeout = 1 [(.validate.rules) = { ... }
-
getEnableHashtagging
boolean getEnableHashtagging()
Use hash tagging on every redis key to guarantee that keys with the same hash tag will be forwarded to the same upstream. The hash key used for determining the upstream in a consistent hash ring configuration will be computed from the hash tagged key instead of the whole key. The algorithm used to compute the hash tag is identical to the `redis-cluster implementation <https://redis.io/topics/cluster-spec#keys-hash-tags>`_. Examples: * '{user1000}.following' and '{user1000}.followers' **will** be sent to the same upstream * '{user1000}.following' and '{user1001}.following' **might** be sent to the same upstreambool enable_hashtagging = 2;- Returns:
- The enableHashtagging.
-
getEnableRedirection
boolean getEnableRedirection()
Accept `moved and ask redirection <https://redis.io/topics/cluster-spec#redirection-and-resharding>`_ errors from upstream redis servers, and retry commands to the specified target server. The target server does not need to be known to the cluster manager. If the command cannot be redirected, then the original error is passed downstream unchanged. By default, this support is not enabled.
bool enable_redirection = 3;- Returns:
- The enableRedirection.
-
hasDnsCacheConfig
boolean hasDnsCacheConfig()
If ``enable_redirection`` is set to true this option configures the DNS cache that the connection pool will use to resolve hostnames that are returned with MOVED and ASK responses. If no configuration is provided, DNS lookups will not be performed (and thus the MOVED/ASK errors will be propagated verbatim to the user).
.envoy.extensions.common.dynamic_forward_proxy.v3.DnsCacheConfig dns_cache_config = 9;- Returns:
- Whether the dnsCacheConfig field is set.
-
getDnsCacheConfig
DnsCacheConfig getDnsCacheConfig()
If ``enable_redirection`` is set to true this option configures the DNS cache that the connection pool will use to resolve hostnames that are returned with MOVED and ASK responses. If no configuration is provided, DNS lookups will not be performed (and thus the MOVED/ASK errors will be propagated verbatim to the user).
.envoy.extensions.common.dynamic_forward_proxy.v3.DnsCacheConfig dns_cache_config = 9;- Returns:
- The dnsCacheConfig.
-
getDnsCacheConfigOrBuilder
DnsCacheConfigOrBuilder getDnsCacheConfigOrBuilder()
If ``enable_redirection`` is set to true this option configures the DNS cache that the connection pool will use to resolve hostnames that are returned with MOVED and ASK responses. If no configuration is provided, DNS lookups will not be performed (and thus the MOVED/ASK errors will be propagated verbatim to the user).
.envoy.extensions.common.dynamic_forward_proxy.v3.DnsCacheConfig dns_cache_config = 9;
-
getMaxBufferSizeBeforeFlush
int getMaxBufferSizeBeforeFlush()
Maximum size of encoded request buffer before flush is triggered and encoded requests are sent upstream. If this is unset, the buffer flushes whenever it receives data and performs no batching. This feature makes it possible for multiple clients to send requests to Envoy and have them batched- for example if one is running several worker processes, each with its own Redis connection. There is no benefit to using this with a single downstream process. Recommended size (if enabled) is 1024 bytes.
uint32 max_buffer_size_before_flush = 4;- Returns:
- The maxBufferSizeBeforeFlush.
-
hasBufferFlushTimeout
boolean hasBufferFlushTimeout()
The encoded request buffer is flushed N milliseconds after the first request has been encoded, unless the buffer size has already exceeded ``max_buffer_size_before_flush``. If ``max_buffer_size_before_flush`` is not set, this flush timer is not used. Otherwise, the timer should be set according to the number of clients, overall request rate and desired maximum latency for a single command. For example, if there are many requests being batched together at a high rate, the buffer will likely be filled before the timer fires. Alternatively, if the request rate is lower the buffer will not be filled as often before the timer fires. If ``max_buffer_size_before_flush`` is set, but ``buffer_flush_timeout`` is not, the latter defaults to 3ms.
.google.protobuf.Duration buffer_flush_timeout = 5;- Returns:
- Whether the bufferFlushTimeout field is set.
-
getBufferFlushTimeout
com.google.protobuf.Duration getBufferFlushTimeout()
The encoded request buffer is flushed N milliseconds after the first request has been encoded, unless the buffer size has already exceeded ``max_buffer_size_before_flush``. If ``max_buffer_size_before_flush`` is not set, this flush timer is not used. Otherwise, the timer should be set according to the number of clients, overall request rate and desired maximum latency for a single command. For example, if there are many requests being batched together at a high rate, the buffer will likely be filled before the timer fires. Alternatively, if the request rate is lower the buffer will not be filled as often before the timer fires. If ``max_buffer_size_before_flush`` is set, but ``buffer_flush_timeout`` is not, the latter defaults to 3ms.
.google.protobuf.Duration buffer_flush_timeout = 5;- Returns:
- The bufferFlushTimeout.
-
getBufferFlushTimeoutOrBuilder
com.google.protobuf.DurationOrBuilder getBufferFlushTimeoutOrBuilder()
The encoded request buffer is flushed N milliseconds after the first request has been encoded, unless the buffer size has already exceeded ``max_buffer_size_before_flush``. If ``max_buffer_size_before_flush`` is not set, this flush timer is not used. Otherwise, the timer should be set according to the number of clients, overall request rate and desired maximum latency for a single command. For example, if there are many requests being batched together at a high rate, the buffer will likely be filled before the timer fires. Alternatively, if the request rate is lower the buffer will not be filled as often before the timer fires. If ``max_buffer_size_before_flush`` is set, but ``buffer_flush_timeout`` is not, the latter defaults to 3ms.
.google.protobuf.Duration buffer_flush_timeout = 5;
-
hasMaxUpstreamUnknownConnections
boolean hasMaxUpstreamUnknownConnections()
``max_upstream_unknown_connections`` controls how many upstream connections to unknown hosts can be created at any given time by any given worker thread (see ``enable_redirection`` for more details). If the host is unknown and a connection cannot be created due to enforcing this limit, then redirection will fail and the original redirection error will be passed downstream unchanged. This limit defaults to 100.
.google.protobuf.UInt32Value max_upstream_unknown_connections = 6;- Returns:
- Whether the maxUpstreamUnknownConnections field is set.
-
getMaxUpstreamUnknownConnections
com.google.protobuf.UInt32Value getMaxUpstreamUnknownConnections()
``max_upstream_unknown_connections`` controls how many upstream connections to unknown hosts can be created at any given time by any given worker thread (see ``enable_redirection`` for more details). If the host is unknown and a connection cannot be created due to enforcing this limit, then redirection will fail and the original redirection error will be passed downstream unchanged. This limit defaults to 100.
.google.protobuf.UInt32Value max_upstream_unknown_connections = 6;- Returns:
- The maxUpstreamUnknownConnections.
-
getMaxUpstreamUnknownConnectionsOrBuilder
com.google.protobuf.UInt32ValueOrBuilder getMaxUpstreamUnknownConnectionsOrBuilder()
``max_upstream_unknown_connections`` controls how many upstream connections to unknown hosts can be created at any given time by any given worker thread (see ``enable_redirection`` for more details). If the host is unknown and a connection cannot be created due to enforcing this limit, then redirection will fail and the original redirection error will be passed downstream unchanged. This limit defaults to 100.
.google.protobuf.UInt32Value max_upstream_unknown_connections = 6;
-
getEnableCommandStats
boolean getEnableCommandStats()
Enable per-command statistics per upstream cluster, in addition to the filter level aggregate count. These commands are measured in microseconds.
bool enable_command_stats = 8;- Returns:
- The enableCommandStats.
-
getReadPolicyValue
int getReadPolicyValue()
Read policy. The default is to read from the primary.
.envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.ConnPoolSettings.ReadPolicy read_policy = 7 [(.validate.rules) = { ... }- Returns:
- The enum numeric value on the wire for readPolicy.
-
getReadPolicy
RedisProxy.ConnPoolSettings.ReadPolicy getReadPolicy()
Read policy. The default is to read from the primary.
.envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.ConnPoolSettings.ReadPolicy read_policy = 7 [(.validate.rules) = { ... }- Returns:
- The readPolicy.
-
hasConnectionRateLimit
boolean hasConnectionRateLimit()
Ops or connection timeout triggers reconnection to redis server which could result in reconnection storm to busy redis server. This config is a protection to rate limit reconnection rate. If not set, there will be no rate limiting on the reconnection.
.envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.ConnectionRateLimit connection_rate_limit = 10;- Returns:
- Whether the connectionRateLimit field is set.
-
getConnectionRateLimit
RedisProxy.ConnectionRateLimit getConnectionRateLimit()
Ops or connection timeout triggers reconnection to redis server which could result in reconnection storm to busy redis server. This config is a protection to rate limit reconnection rate. If not set, there will be no rate limiting on the reconnection.
.envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.ConnectionRateLimit connection_rate_limit = 10;- Returns:
- The connectionRateLimit.
-
getConnectionRateLimitOrBuilder
RedisProxy.ConnectionRateLimitOrBuilder getConnectionRateLimitOrBuilder()
Ops or connection timeout triggers reconnection to redis server which could result in reconnection storm to busy redis server. This config is a protection to rate limit reconnection rate. If not set, there will be no rate limiting on the reconnection.
.envoy.extensions.filters.network.redis_proxy.v3.RedisProxy.ConnectionRateLimit connection_rate_limit = 10;
-
-