Record Class AllocationInfo

java.lang.Object
java.lang.Record
org.elasticsearch.xpack.core.ilm.step.info.AllocationInfo
All Implemented Interfaces:
org.elasticsearch.xcontent.ToXContent, org.elasticsearch.xcontent.ToXContentObject

public record AllocationInfo(long numberOfReplicas, long numberShardsLeftToAllocate, boolean allShardsActive, String message) extends Record implements org.elasticsearch.xcontent.ToXContentObject
Represents the state of an index's shards allocation, including a user friendly message describing the current state. It allows to transfer the allocation information to XContent using toXContent(XContentBuilder, Params)
  • Nested Class Summary

    Nested classes/interfaces inherited from interface org.elasticsearch.xcontent.ToXContent

    org.elasticsearch.xcontent.ToXContent.DelegatingMapParams, org.elasticsearch.xcontent.ToXContent.MapParams, org.elasticsearch.xcontent.ToXContent.Params
  • Field Summary

    Fields inherited from interface org.elasticsearch.xcontent.ToXContent

    EMPTY, EMPTY_PARAMS
  • Constructor Summary

    Constructors
    Constructor
    Description
    AllocationInfo(long numberOfReplicas, long numberShardsLeftToAllocate, boolean allShardsActive, String message)
    Creates an instance of a AllocationInfo record class.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Returns the value of the allShardsActive record component.
    allShardsActiveAllocationInfo(long numReplicas, long numberShardsLeftToAllocate)
    Builds the AllocationInfo representing a cluster state with a routing table that has all the shards active for a particular index but there are still numberShardsLeftToAllocate left to be allocated.
    final boolean
    Indicates whether some other object is "equal to" this one.
    final int
    Returns a hash code value for this object.
    Returns the value of the message record component.
    long
    Returns the value of the numberOfReplicas record component.
    long
    Returns the value of the numberShardsLeftToAllocate record component.
    Returns a string representation of this record class.
    org.elasticsearch.xcontent.XContentBuilder
    toXContent(org.elasticsearch.xcontent.XContentBuilder builder, org.elasticsearch.xcontent.ToXContent.Params params)
     
    Builds the AllocationInfo representing a cluster state with a routing table that does not have enough shards active for a particular index.

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.elasticsearch.xcontent.ToXContentObject

    isFragment
  • Constructor Details

    • AllocationInfo

      public AllocationInfo(long numberOfReplicas, long numberShardsLeftToAllocate, boolean allShardsActive, String message)
      Creates an instance of a AllocationInfo record class.
      Parameters:
      numberOfReplicas - the value for the numberOfReplicas record component
      numberShardsLeftToAllocate - the value for the numberShardsLeftToAllocate record component
      allShardsActive - the value for the allShardsActive record component
      message - the value for the message record component
  • Method Details

    • waitingForActiveShardsAllocationInfo

      public static AllocationInfo waitingForActiveShardsAllocationInfo(long numReplicas)
      Builds the AllocationInfo representing a cluster state with a routing table that does not have enough shards active for a particular index.
    • allShardsActiveAllocationInfo

      public static AllocationInfo allShardsActiveAllocationInfo(long numReplicas, long numberShardsLeftToAllocate)
      Builds the AllocationInfo representing a cluster state with a routing table that has all the shards active for a particular index but there are still numberShardsLeftToAllocate left to be allocated.
    • toXContent

      public org.elasticsearch.xcontent.XContentBuilder toXContent(org.elasticsearch.xcontent.XContentBuilder builder, org.elasticsearch.xcontent.ToXContent.Params params) throws IOException
      Specified by:
      toXContent in interface org.elasticsearch.xcontent.ToXContent
      Throws:
      IOException
    • 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. Reference components are compared with Objects::equals(Object,Object); primitive components 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.
    • numberOfReplicas

      public long numberOfReplicas()
      Returns the value of the numberOfReplicas record component.
      Returns:
      the value of the numberOfReplicas record component
    • numberShardsLeftToAllocate

      public long numberShardsLeftToAllocate()
      Returns the value of the numberShardsLeftToAllocate record component.
      Returns:
      the value of the numberShardsLeftToAllocate record component
    • allShardsActive

      public boolean allShardsActive()
      Returns the value of the allShardsActive record component.
      Returns:
      the value of the allShardsActive record component
    • message

      public String message()
      Returns the value of the message record component.
      Returns:
      the value of the message record component