Class UnassignedInfo

    • Field Detail


        public static final DateFormatter DATE_TIME_FORMATTER

        public static final Setting<TimeValue> INDEX_DELAYED_NODE_LEFT_TIMEOUT_SETTING
    • Constructor Detail

      • UnassignedInfo

        public UnassignedInfo​(UnassignedInfo.Reason reason,
                              java.lang.String message)
        creates an UnassignedInfo object based on **current** time
        reason - the cause for making this shard unassigned. See UnassignedInfo.Reason for more information.
        message - more information about cause.
      • UnassignedInfo

        public UnassignedInfo​(UnassignedInfo.Reason reason,
                              java.lang.String message,
                              java.lang.Exception failure,
                              int failedAllocations,
                              long unassignedTimeNanos,
                              long unassignedTimeMillis,
                              boolean delayed,
                              UnassignedInfo.AllocationStatus lastAllocationStatus)
        reason - the cause for making this shard unassigned. See UnassignedInfo.Reason for more information.
        message - more information about cause.
        failure - the shard level failure that caused this shard to be unassigned, if exists.
        unassignedTimeNanos - the time to use as the base for any delayed re-assignment calculation
        unassignedTimeMillis - the time of unassignment used to display to in our reporting.
        delayed - if allocation of this shard is delayed due to INDEX_DELAYED_NODE_LEFT_TIMEOUT_SETTING.
        lastAllocationStatus - the result of the last allocation attempt for this shard
      • UnassignedInfo

        public UnassignedInfo​(StreamInput in)
    • Method Detail

      • getNumFailedAllocations

        public int getNumFailedAllocations()
        Returns the number of previously failed allocations of this shard.
      • getUnassignedTimeInMillis

        public long getUnassignedTimeInMillis()
        The timestamp in milliseconds when the shard became unassigned, based on System.currentTimeMillis(). Note, we use timestamp here since we want to make sure its preserved across node serializations.
      • getUnassignedTimeInNanos

        public long getUnassignedTimeInNanos()
        The timestamp in nanoseconds when the shard became unassigned, based on System.nanoTime(). Used to calculate the delay for delayed shard allocation. ONLY EXPOSED FOR TESTS!
      • getMessage

        public java.lang.String getMessage()
        Returns optional details explaining the reasons.
      • getFailure

        public java.lang.Exception getFailure()
        Returns additional failure exception details if exists.
      • getDetails

        public java.lang.String getDetails()
        Builds a string representation of the message and the failure if exists.
      • getLastAllocationStatus

        public UnassignedInfo.AllocationStatus getLastAllocationStatus()
        Get the status for the last allocation attempt for this shard.
      • getRemainingDelay

        public long getRemainingDelay​(long nanoTimeNow,
                                      Settings indexSettings)
        Calculates the delay left based on current time (in nanoseconds) and the delay defined by the index settings. Only relevant if shard is effectively delayed (see isDelayed()) Returns 0 if delay is negative
        calculated delay in nanoseconds
      • getNumberOfDelayedUnassigned

        public static int getNumberOfDelayedUnassigned​(ClusterState state)
        Returns the number of shards that are unassigned and currently being delayed.
      • findNextDelayedAllocation

        public static long findNextDelayedAllocation​(long currentNanoTime,
                                                     ClusterState state)
        Finds the next (closest) delay expiration of an delayed shard in nanoseconds based on current time. Returns 0 if delay is negative. Returns -1 if no delayed shard is found.
      • shortSummary

        public java.lang.String shortSummary()
      • toString

        public java.lang.String toString()
        toString in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object o)
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        hashCode in class java.lang.Object