Record Class ActiveShardCount

java.lang.Object
java.lang.Record
org.elasticsearch.action.support.ActiveShardCount
All Implemented Interfaces:
Writeable

public record ActiveShardCount(int value) extends Record implements Writeable
A class whose instances represent a value for counting the number of active shard copies for a given shard in an index.
  • Field Details

  • Constructor Details

    • ActiveShardCount

      public ActiveShardCount(int value)
      Creates an instance of a ActiveShardCount record class.
      Parameters:
      value - the value for the value record component
  • Method Details

    • from

      public static ActiveShardCount from(int value)
      Get an ActiveShardCount instance for the given value. The value is first validated to ensure it is a valid shard count and throws an IllegalArgumentException if validation fails. Valid values are any non-negative number. Directly use DEFAULT for the default value (which is one shard copy) or ALL to specify all the shards.
    • validate

      public boolean validate(int numberOfReplicas)
      Validates that the instance is valid for the given number of replicas in an index.
    • writeTo

      public void writeTo(StreamOutput out) throws IOException
      Description copied from interface: Writeable
      Write this into the StreamOutput.
      Specified by:
      writeTo in interface Writeable
      Throws:
      IOException
    • readFrom

      public static ActiveShardCount readFrom(StreamInput in) throws IOException
      Throws:
      IOException
    • parseString

      public static ActiveShardCount parseString(String str)
      Parses the active shard count from the given string. Valid values are "all" for all shard copies, null for the default value (which defaults to one shard copy), or a numeric value greater than or equal to 0. Any other input will throw an IllegalArgumentException.
    • enoughShardsActive

      public boolean enoughShardsActive(int activeShardCount)
      Returns true iff the given number of active shards is enough to meet the required shard count represented by this instance. This method should only be invoked with ActiveShardCount objects created from from(int), or NONE or ONE.
    • enoughShardsActive

      public boolean enoughShardsActive(ClusterState clusterState, String... indices)
      Returns true iff the given cluster state's routing table contains enough active shards for the given indices to meet the required shard count represented by this instance.
    • enoughShardsActive

      public boolean enoughShardsActive(IndexShardRoutingTable shardRoutingTable)
      Returns true iff the active shard count in the shard routing table is enough to meet the required shard count represented by this instance.
    • toString

      public String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with '=='.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • value

      public int value()
      Returns the value of the value record component.
      Returns:
      the value of the value record component