Class Cluster.CommonLbConfig

java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessage
io.envoyproxy.envoy.config.cluster.v3.Cluster.CommonLbConfig
All Implemented Interfaces:
com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Cluster.CommonLbConfigOrBuilder, Serializable
Enclosing class:
Cluster

public static final class Cluster.CommonLbConfig extends com.google.protobuf.GeneratedMessage implements Cluster.CommonLbConfigOrBuilder
 Common configuration for all load balancer implementations.
 [#next-free-field: 9]
 
Protobuf type envoy.config.cluster.v3.Cluster.CommonLbConfig
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • bitField0_

      private int bitField0_
    • localityConfigSpecifierCase_

      private int localityConfigSpecifierCase_
    • localityConfigSpecifier_

      private Object localityConfigSpecifier_
    • HEALTHY_PANIC_THRESHOLD_FIELD_NUMBER

      public static final int HEALTHY_PANIC_THRESHOLD_FIELD_NUMBER
      See Also:
    • healthyPanicThreshold_

      private Percent healthyPanicThreshold_
    • ZONE_AWARE_LB_CONFIG_FIELD_NUMBER

      public static final int ZONE_AWARE_LB_CONFIG_FIELD_NUMBER
      See Also:
    • LOCALITY_WEIGHTED_LB_CONFIG_FIELD_NUMBER

      public static final int LOCALITY_WEIGHTED_LB_CONFIG_FIELD_NUMBER
      See Also:
    • UPDATE_MERGE_WINDOW_FIELD_NUMBER

      public static final int UPDATE_MERGE_WINDOW_FIELD_NUMBER
      See Also:
    • updateMergeWindow_

      private com.google.protobuf.Duration updateMergeWindow_
    • IGNORE_NEW_HOSTS_UNTIL_FIRST_HC_FIELD_NUMBER

      public static final int IGNORE_NEW_HOSTS_UNTIL_FIRST_HC_FIELD_NUMBER
      See Also:
    • ignoreNewHostsUntilFirstHc_

      private boolean ignoreNewHostsUntilFirstHc_
    • CLOSE_CONNECTIONS_ON_HOST_SET_CHANGE_FIELD_NUMBER

      public static final int CLOSE_CONNECTIONS_ON_HOST_SET_CHANGE_FIELD_NUMBER
      See Also:
    • closeConnectionsOnHostSetChange_

      private boolean closeConnectionsOnHostSetChange_
    • CONSISTENT_HASHING_LB_CONFIG_FIELD_NUMBER

      public static final int CONSISTENT_HASHING_LB_CONFIG_FIELD_NUMBER
      See Also:
    • consistentHashingLbConfig_

      private Cluster.CommonLbConfig.ConsistentHashingLbConfig consistentHashingLbConfig_
    • OVERRIDE_HOST_STATUS_FIELD_NUMBER

      public static final int OVERRIDE_HOST_STATUS_FIELD_NUMBER
      See Also:
    • overrideHostStatus_

      private HealthStatusSet overrideHostStatus_
    • memoizedIsInitialized

      private byte memoizedIsInitialized
    • DEFAULT_INSTANCE

      private static final Cluster.CommonLbConfig DEFAULT_INSTANCE
    • PARSER

      private static final com.google.protobuf.Parser<Cluster.CommonLbConfig> PARSER
  • Constructor Details

    • CommonLbConfig

      private CommonLbConfig(com.google.protobuf.GeneratedMessage.Builder<?> builder)
    • CommonLbConfig

      private CommonLbConfig()
  • Method Details

    • getDescriptor

      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
    • internalGetFieldAccessorTable

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage
    • getLocalityConfigSpecifierCase

      public Cluster.CommonLbConfig.LocalityConfigSpecifierCase getLocalityConfigSpecifierCase()
      Specified by:
      getLocalityConfigSpecifierCase in interface Cluster.CommonLbConfigOrBuilder
    • hasHealthyPanicThreshold

      public boolean hasHealthyPanicThreshold()
       Configures the :ref:`healthy panic threshold <arch_overview_load_balancing_panic_threshold>`.
       If not specified, the default is 50%.
       To disable panic mode, set to 0%.
      
       .. note::
       The specified percent will be truncated to the nearest 1%.
       
      .envoy.type.v3.Percent healthy_panic_threshold = 1;
      Specified by:
      hasHealthyPanicThreshold in interface Cluster.CommonLbConfigOrBuilder
      Returns:
      Whether the healthyPanicThreshold field is set.
    • getHealthyPanicThreshold

      public Percent getHealthyPanicThreshold()
       Configures the :ref:`healthy panic threshold <arch_overview_load_balancing_panic_threshold>`.
       If not specified, the default is 50%.
       To disable panic mode, set to 0%.
      
       .. note::
       The specified percent will be truncated to the nearest 1%.
       
      .envoy.type.v3.Percent healthy_panic_threshold = 1;
      Specified by:
      getHealthyPanicThreshold in interface Cluster.CommonLbConfigOrBuilder
      Returns:
      The healthyPanicThreshold.
    • getHealthyPanicThresholdOrBuilder

      public PercentOrBuilder getHealthyPanicThresholdOrBuilder()
       Configures the :ref:`healthy panic threshold <arch_overview_load_balancing_panic_threshold>`.
       If not specified, the default is 50%.
       To disable panic mode, set to 0%.
      
       .. note::
       The specified percent will be truncated to the nearest 1%.
       
      .envoy.type.v3.Percent healthy_panic_threshold = 1;
      Specified by:
      getHealthyPanicThresholdOrBuilder in interface Cluster.CommonLbConfigOrBuilder
    • hasZoneAwareLbConfig

      public boolean hasZoneAwareLbConfig()
      .envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig zone_aware_lb_config = 2;
      Specified by:
      hasZoneAwareLbConfig in interface Cluster.CommonLbConfigOrBuilder
      Returns:
      Whether the zoneAwareLbConfig field is set.
    • getZoneAwareLbConfig

      public Cluster.CommonLbConfig.ZoneAwareLbConfig getZoneAwareLbConfig()
      .envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig zone_aware_lb_config = 2;
      Specified by:
      getZoneAwareLbConfig in interface Cluster.CommonLbConfigOrBuilder
      Returns:
      The zoneAwareLbConfig.
    • getZoneAwareLbConfigOrBuilder

      public Cluster.CommonLbConfig.ZoneAwareLbConfigOrBuilder getZoneAwareLbConfigOrBuilder()
      .envoy.config.cluster.v3.Cluster.CommonLbConfig.ZoneAwareLbConfig zone_aware_lb_config = 2;
      Specified by:
      getZoneAwareLbConfigOrBuilder in interface Cluster.CommonLbConfigOrBuilder
    • hasLocalityWeightedLbConfig

      public boolean hasLocalityWeightedLbConfig()
      .envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityWeightedLbConfig locality_weighted_lb_config = 3;
      Specified by:
      hasLocalityWeightedLbConfig in interface Cluster.CommonLbConfigOrBuilder
      Returns:
      Whether the localityWeightedLbConfig field is set.
    • getLocalityWeightedLbConfig

      public Cluster.CommonLbConfig.LocalityWeightedLbConfig getLocalityWeightedLbConfig()
      .envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityWeightedLbConfig locality_weighted_lb_config = 3;
      Specified by:
      getLocalityWeightedLbConfig in interface Cluster.CommonLbConfigOrBuilder
      Returns:
      The localityWeightedLbConfig.
    • getLocalityWeightedLbConfigOrBuilder

      public Cluster.CommonLbConfig.LocalityWeightedLbConfigOrBuilder getLocalityWeightedLbConfigOrBuilder()
      .envoy.config.cluster.v3.Cluster.CommonLbConfig.LocalityWeightedLbConfig locality_weighted_lb_config = 3;
      Specified by:
      getLocalityWeightedLbConfigOrBuilder in interface Cluster.CommonLbConfigOrBuilder
    • hasUpdateMergeWindow

      public boolean hasUpdateMergeWindow()
       If set, all health check/weight/metadata updates that happen within this duration will be
       merged and delivered in one shot when the duration expires. The start of the duration is when
       the first update happens. This is useful for big clusters, with potentially noisy deploys
       that might trigger excessive CPU usage due to a constant stream of healthcheck state changes
       or metadata updates. The first set of updates to be seen apply immediately (e.g.: a new
       cluster). Please always keep in mind that the use of sandbox technologies may change this
       behavior.
      
       If this is not set, we default to a merge window of 1000ms. To disable it, set the merge
       window to 0.
      
       Note: merging does not apply to cluster membership changes (e.g.: adds/removes); this is
       because merging those updates isn't currently safe. See
       https://github.com/envoyproxy/envoy/pull/3941.
       
      .google.protobuf.Duration update_merge_window = 4;
      Specified by:
      hasUpdateMergeWindow in interface Cluster.CommonLbConfigOrBuilder
      Returns:
      Whether the updateMergeWindow field is set.
    • getUpdateMergeWindow

      public com.google.protobuf.Duration getUpdateMergeWindow()
       If set, all health check/weight/metadata updates that happen within this duration will be
       merged and delivered in one shot when the duration expires. The start of the duration is when
       the first update happens. This is useful for big clusters, with potentially noisy deploys
       that might trigger excessive CPU usage due to a constant stream of healthcheck state changes
       or metadata updates. The first set of updates to be seen apply immediately (e.g.: a new
       cluster). Please always keep in mind that the use of sandbox technologies may change this
       behavior.
      
       If this is not set, we default to a merge window of 1000ms. To disable it, set the merge
       window to 0.
      
       Note: merging does not apply to cluster membership changes (e.g.: adds/removes); this is
       because merging those updates isn't currently safe. See
       https://github.com/envoyproxy/envoy/pull/3941.
       
      .google.protobuf.Duration update_merge_window = 4;
      Specified by:
      getUpdateMergeWindow in interface Cluster.CommonLbConfigOrBuilder
      Returns:
      The updateMergeWindow.
    • getUpdateMergeWindowOrBuilder

      public com.google.protobuf.DurationOrBuilder getUpdateMergeWindowOrBuilder()
       If set, all health check/weight/metadata updates that happen within this duration will be
       merged and delivered in one shot when the duration expires. The start of the duration is when
       the first update happens. This is useful for big clusters, with potentially noisy deploys
       that might trigger excessive CPU usage due to a constant stream of healthcheck state changes
       or metadata updates. The first set of updates to be seen apply immediately (e.g.: a new
       cluster). Please always keep in mind that the use of sandbox technologies may change this
       behavior.
      
       If this is not set, we default to a merge window of 1000ms. To disable it, set the merge
       window to 0.
      
       Note: merging does not apply to cluster membership changes (e.g.: adds/removes); this is
       because merging those updates isn't currently safe. See
       https://github.com/envoyproxy/envoy/pull/3941.
       
      .google.protobuf.Duration update_merge_window = 4;
      Specified by:
      getUpdateMergeWindowOrBuilder in interface Cluster.CommonLbConfigOrBuilder
    • getIgnoreNewHostsUntilFirstHc

      public boolean getIgnoreNewHostsUntilFirstHc()
       If set to true, Envoy will :ref:`exclude <arch_overview_load_balancing_excluded>` new hosts
       when computing load balancing weights until they have been health checked for the first time.
       This will have no effect unless active health checking is also configured.
       
      bool ignore_new_hosts_until_first_hc = 5;
      Specified by:
      getIgnoreNewHostsUntilFirstHc in interface Cluster.CommonLbConfigOrBuilder
      Returns:
      The ignoreNewHostsUntilFirstHc.
    • getCloseConnectionsOnHostSetChange

      public boolean getCloseConnectionsOnHostSetChange()
       If set to ``true``, the cluster manager will drain all existing
       connections to upstream hosts whenever hosts are added or removed from the cluster.
       
      bool close_connections_on_host_set_change = 6;
      Specified by:
      getCloseConnectionsOnHostSetChange in interface Cluster.CommonLbConfigOrBuilder
      Returns:
      The closeConnectionsOnHostSetChange.
    • hasConsistentHashingLbConfig

      public boolean hasConsistentHashingLbConfig()
       Common Configuration for all consistent hashing load balancers (MaglevLb, RingHashLb, etc.)
       
      .envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig consistent_hashing_lb_config = 7;
      Specified by:
      hasConsistentHashingLbConfig in interface Cluster.CommonLbConfigOrBuilder
      Returns:
      Whether the consistentHashingLbConfig field is set.
    • getConsistentHashingLbConfig

      public Cluster.CommonLbConfig.ConsistentHashingLbConfig getConsistentHashingLbConfig()
       Common Configuration for all consistent hashing load balancers (MaglevLb, RingHashLb, etc.)
       
      .envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig consistent_hashing_lb_config = 7;
      Specified by:
      getConsistentHashingLbConfig in interface Cluster.CommonLbConfigOrBuilder
      Returns:
      The consistentHashingLbConfig.
    • getConsistentHashingLbConfigOrBuilder

      public Cluster.CommonLbConfig.ConsistentHashingLbConfigOrBuilder getConsistentHashingLbConfigOrBuilder()
       Common Configuration for all consistent hashing load balancers (MaglevLb, RingHashLb, etc.)
       
      .envoy.config.cluster.v3.Cluster.CommonLbConfig.ConsistentHashingLbConfig consistent_hashing_lb_config = 7;
      Specified by:
      getConsistentHashingLbConfigOrBuilder in interface Cluster.CommonLbConfigOrBuilder
    • hasOverrideHostStatus

      public boolean hasOverrideHostStatus()
       This controls what hosts are considered valid when using
       :ref:`host overrides <arch_overview_load_balancing_override_host>`, which is used by some
       filters to modify the load balancing decision.
      
       If this is unset then [UNKNOWN, HEALTHY, DEGRADED] will be applied by default. If this is
       set with an empty set of statuses then host overrides will be ignored by the load balancing.
       
      .envoy.config.core.v3.HealthStatusSet override_host_status = 8;
      Specified by:
      hasOverrideHostStatus in interface Cluster.CommonLbConfigOrBuilder
      Returns:
      Whether the overrideHostStatus field is set.
    • getOverrideHostStatus

      public HealthStatusSet getOverrideHostStatus()
       This controls what hosts are considered valid when using
       :ref:`host overrides <arch_overview_load_balancing_override_host>`, which is used by some
       filters to modify the load balancing decision.
      
       If this is unset then [UNKNOWN, HEALTHY, DEGRADED] will be applied by default. If this is
       set with an empty set of statuses then host overrides will be ignored by the load balancing.
       
      .envoy.config.core.v3.HealthStatusSet override_host_status = 8;
      Specified by:
      getOverrideHostStatus in interface Cluster.CommonLbConfigOrBuilder
      Returns:
      The overrideHostStatus.
    • getOverrideHostStatusOrBuilder

      public HealthStatusSetOrBuilder getOverrideHostStatusOrBuilder()
       This controls what hosts are considered valid when using
       :ref:`host overrides <arch_overview_load_balancing_override_host>`, which is used by some
       filters to modify the load balancing decision.
      
       If this is unset then [UNKNOWN, HEALTHY, DEGRADED] will be applied by default. If this is
       set with an empty set of statuses then host overrides will be ignored by the load balancing.
       
      .envoy.config.core.v3.HealthStatusSet override_host_status = 8;
      Specified by:
      getOverrideHostStatusOrBuilder in interface Cluster.CommonLbConfigOrBuilder
    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessage
    • writeTo

      public void writeTo(com.google.protobuf.CodedOutputStream output) throws IOException
      Specified by:
      writeTo in interface com.google.protobuf.MessageLite
      Overrides:
      writeTo in class com.google.protobuf.GeneratedMessage
      Throws:
      IOException
    • getSerializedSize

      public int getSerializedSize()
      Specified by:
      getSerializedSize in interface com.google.protobuf.MessageLite
      Overrides:
      getSerializedSize in class com.google.protobuf.GeneratedMessage
    • equals

      public boolean equals(Object obj)
      Specified by:
      equals in interface com.google.protobuf.Message
      Overrides:
      equals in class com.google.protobuf.AbstractMessage
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in interface com.google.protobuf.Message
      Overrides:
      hashCode in class com.google.protobuf.AbstractMessage
    • parseFrom

      public static Cluster.CommonLbConfig parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static Cluster.CommonLbConfig parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static Cluster.CommonLbConfig parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static Cluster.CommonLbConfig parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static Cluster.CommonLbConfig parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static Cluster.CommonLbConfig parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException
      Throws:
      com.google.protobuf.InvalidProtocolBufferException
    • parseFrom

      public static Cluster.CommonLbConfig parseFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static Cluster.CommonLbConfig parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static Cluster.CommonLbConfig parseDelimitedFrom(InputStream input) throws IOException
      Throws:
      IOException
    • parseDelimitedFrom

      public static Cluster.CommonLbConfig parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • parseFrom

      public static Cluster.CommonLbConfig parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
      Throws:
      IOException
    • parseFrom

      public static Cluster.CommonLbConfig parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Throws:
      IOException
    • newBuilderForType

      public Cluster.CommonLbConfig.Builder newBuilderForType()
      Specified by:
      newBuilderForType in interface com.google.protobuf.Message
      Specified by:
      newBuilderForType in interface com.google.protobuf.MessageLite
    • newBuilder

      public static Cluster.CommonLbConfig.Builder newBuilder()
    • newBuilder

      public static Cluster.CommonLbConfig.Builder newBuilder(Cluster.CommonLbConfig prototype)
    • toBuilder

      public Cluster.CommonLbConfig.Builder toBuilder()
      Specified by:
      toBuilder in interface com.google.protobuf.Message
      Specified by:
      toBuilder in interface com.google.protobuf.MessageLite
    • newBuilderForType

      protected Cluster.CommonLbConfig.Builder newBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent)
      Overrides:
      newBuilderForType in class com.google.protobuf.AbstractMessage
    • getDefaultInstance

      public static Cluster.CommonLbConfig getDefaultInstance()
    • parser

      public static com.google.protobuf.Parser<Cluster.CommonLbConfig> parser()
    • getParserForType

      public com.google.protobuf.Parser<Cluster.CommonLbConfig> getParserForType()
      Specified by:
      getParserForType in interface com.google.protobuf.Message
      Specified by:
      getParserForType in interface com.google.protobuf.MessageLite
      Overrides:
      getParserForType in class com.google.protobuf.GeneratedMessage
    • getDefaultInstanceForType

      public Cluster.CommonLbConfig getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder