Class ReplicaMonitorEntry

  • All Implemented Interfaces:
    java.io.Serializable

    @NotMutable
    @ThreadSafety(level=COMPLETELY_THREADSAFE)
    public final class ReplicaMonitorEntry
    extends MonitorEntry
    This class defines a monitor entry that provides information about the state of a replica, including the base DN, replica ID, and generation ID, as well as information about its communication with the replication server
    NOTE: This class, and other classes within the com.unboundid.ldap.sdk.unboundidds package structure, are only supported for use against Ping Identity, UnboundID, and Nokia/Alcatel-Lucent 8661 server products. These classes provide support for proprietary functionality or for external specifications that are not considered stable or mature enough to be guaranteed to work in an interoperable way with other types of LDAP servers.

    The server should present a replica monitor entry for each replicated base DN. They can be retrieved using the MonitorManager.getReplicaMonitorEntries(com.unboundid.ldap.sdk.LDAPConnection) method. These entries provide specific methods for accessing information about the replica. Alternately, this information may be accessed using the generic API. See the MonitorManager class documentation for an example that demonstrates the use of the generic API for accessing monitor data.
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      ReplicaMonitorEntry​(Entry entry)
      Creates a new replica monitor entry from the provided entry.
    • Constructor Detail

      • ReplicaMonitorEntry

        public ReplicaMonitorEntry​(@NotNull
                                   Entry entry)
        Creates a new replica monitor entry from the provided entry.
        Parameters:
        entry - The entry to be parsed as a replica monitor entry. It must not be null.
    • Method Detail

      • getBaseDN

        @Nullable
        public java.lang.String getBaseDN()
        Retrieves the base DN for this replica.
        Returns:
        The base DN for this replica, or null if it was not included in the monitor entry.
      • getReplicaID

        @Nullable
        public java.lang.String getReplicaID()
        Retrieves the replica ID for this replica.
        Returns:
        The replica ID for this replica, or null if it was not included in the monitor entry.
      • getGenerationID

        @Nullable
        public java.lang.String getGenerationID()
        Retrieves the generation ID for this replica.
        Returns:
        The generation ID for this replica, or null if it was not included in the monitor entry.
      • getReplicationServerAddress

        @Nullable
        public java.lang.String getReplicationServerAddress()
        Retrieves the address of the replication server to which this replica is connected.
        Returns:
        The address of the replication server to which this replica is connected, or null if it was not included in the monitor entry.
      • getReplicationServerPort

        @Nullable
        public java.lang.Long getReplicationServerPort()
        Retrieves the port number of the replication server to which this replica is connected.
        Returns:
        The port number of the replication server to which this replica is connected, or null if it was not included in the monitor entry.
      • useSSL

        @Nullable
        public java.lang.Boolean useSSL()
        Indicates whether this replica uses SSL when communicating with the replication server.
        Returns:
        Boolean.TRUE if this replica uses SSL when communicating with the replication server, Boolean.FALSE if it does not use SSL, or null if it was not included in the monitor entry.
      • getLostConnections

        @Nullable
        public java.lang.Long getLostConnections()
        Retrieves the number of times this replica has lost the connection to a replication server.
        Returns:
        The number of times this replica has lost the connection to a replication server, or null if it was not included in the monitor entry.
      • getTotalUpdateCount

        @Nullable
        public java.lang.Long getTotalUpdateCount()
        Retrieves the total number of replicated operations processed since the server started.
        Returns:
        The total number of replicated operations processed since the server started, or null if it was not included in the monitor entry.
      • getReceivedUpdates

        @Nullable
        public java.lang.Long getReceivedUpdates()
        Retrieves the number of updates that this replica has received from the replication server.
        Returns:
        The number of updates that this replica has received from the replication server, or null if it was not included in the monitor entry.
      • getSentUpdates

        @Nullable
        public java.lang.Long getSentUpdates()
        Retrieves the number of updates that this replica has sent to the replication server.
        Returns:
        The number of updates that this replica has sent to the replication server, or null if it was not included in the monitor entry.
      • getReceivedAcks

        @Nullable
        public java.lang.Long getReceivedAcks()
        Retrieves the number of acknowledgements that this replica has received from other servers.
        Returns:
        The number of acknowledgements that this replica has received from other servers, or null if it was not included in the monitor entry.
      • getSentAcks

        @Nullable
        public java.lang.Long getSentAcks()
        Retrieves the number of acknowledgements that this replica has sent to other servers.
        Returns:
        The number of acknowledgements that this replica has sent to other servers, or null if it was not included in the monitor entry.
      • getPendingUpdates

        @Nullable
        public java.lang.Long getPendingUpdates()
        Retrieves the number of updates that are currently in progress in the Directory Server and have not yet been sent to the replication server.
        Returns:
        The number of updates that are currently in progress in the Directory Server and have not yet been sent to the replication server, or null if it was not included in the monitor entry.
      • getTotalUpdatesReplayed

        @Nullable
        public java.lang.Long getTotalUpdatesReplayed()
        Retrieves the total number of updates that have been replayed in this replica.
        Returns:
        The total number of updates that have been replayed in this replica, or null if it was not included in the monitor entry.
      • getUpdatesSuccessfullyReplayed

        @Nullable
        public java.lang.Long getUpdatesSuccessfullyReplayed()
        Retrieves the number of updates that have been successfully replayed in this replica without conflicts.
        Returns:
        The number of updates that have been successfully replayed in this replica without conflicts, or null if it was not included in the monitor entry.
      • getUpdateReplayFailures

        @Nullable
        public java.lang.Long getUpdateReplayFailures()
        Retrieves the number of failures that have occurred while attempting to replay changes.
        Returns:
        The number of failures that have occurred while attempting to replay changes, or null if it was not included in the monitor entry.
      • getUpdatesReplayedAfterModifyConflict

        @Nullable
        public java.lang.Long getUpdatesReplayedAfterModifyConflict()
        Retrieves the number of updates that have been replayed in this replica after automatically resolving a modify conflict.
        Returns:
        The number of updates that have been replayed in this replica after automatically resolving a modify conflict, or null if it was not included in the monitor entry.
      • getUpdatesReplayedAfterNamingConflict

        @Nullable
        public java.lang.Long getUpdatesReplayedAfterNamingConflict()
        Retrieves the number of updates that have been replayed in this replica after automatically resolving a naming conflict.
        Returns:
        The number of updates that have been replayed in this replica after automatically resolving a naming conflict, or null if it was not included in the monitor entry.
      • getUnresolvedNamingConflicts

        @Nullable
        public java.lang.Long getUnresolvedNamingConflicts()
        Retrieves the number of updates that could not be replayed as a result of a naming conflict that could not be automatically resolved.
        Returns:
        The number of updates that could not be replayed as a result of a naming conflict that could not be automatically resolved, or null if it was not included in the monitor entry.
      • getConflictEntryCount

        @Nullable
        public java.lang.Long getConflictEntryCount()
        Retrieves the number of conflict entries that currently exist in the associated backend.
        Returns:
        The number of conflict entries that currently exist in the associated backend, or null if it was not included in the monitor entry. The name of the attribute that contains the number of conflict entries that currently exist in the associated backend.
      • getCurrentReceiveWindowSize

        @Nullable
        public java.lang.Long getCurrentReceiveWindowSize()
        Retrieves the current receive window size for this replica.
        Returns:
        The current receive window size for this replica, or null if it was not included in the monitor entry.
      • getCurrentSendWindowSize

        @Nullable
        public java.lang.Long getCurrentSendWindowSize()
        Retrieves the current send window size for this replica.
        Returns:
        The current send window size for this replica, or null if it was not included in the monitor entry.
      • getMaximumReceiveWindowSize

        @Nullable
        public java.lang.Long getMaximumReceiveWindowSize()
        Retrieves the maximum receive window size for this replica.
        Returns:
        The maximum receive window size for this replica, or null if it was not included in the monitor entry.
      • getMaximumSendWindowSize

        @Nullable
        public java.lang.Long getMaximumSendWindowSize()
        Retrieves the maximum send window size for this replica.
        Returns:
        The maximum send window size for this replica, or null if it was not included in the monitor entry.
      • getReplicationBacklog

        @Nullable
        public java.lang.Long getReplicationBacklog()
        Retrieves the number of changes that have been applied in one or more other replicas but have not yet been applied in the local server.
        Returns:
        The number of changes that have been applied in one or more other replicas but have not yet been applied in the local server, or null if it was not included in the monitor entry.
      • getOldestBacklogChangeTime

        @Nullable
        public java.util.Date getOldestBacklogChangeTime()
        Retrieves the completion time for the oldest change that has been applied in one or other replicas but has not yet been applied in the local server.
        Returns:
        The completion time for the oldest change that has been applied in one or more other replicas but has not yet been applied in the local server, or null if it was not included in the monitor entry.
      • getPendingChangesCurrentUncommittedSize

        @Nullable
        public java.lang.Long getPendingChangesCurrentUncommittedSize()
        Retrieves the number of changes in the pending changes queue that have not yet been committed to the local database.
        Returns:
        The number of changes in the pending changes queue that have not yet been committed to the local database, or null if it was not included in the monitor entry.
      • getAgeOfOldestPendingUpdateMillis

        @Nullable
        public java.lang.Long getAgeOfOldestPendingUpdateMillis()
        Retrieves the age, in milliseconds, of the oldest operation in the pending changes queue.
        Returns:
        The age, in milliseconds, of the oldest operation in the pending changes queue, or null if it was not included in the monitor entry.
      • getPendingChangesMaxCapacity

        @Nullable
        public java.lang.Long getPendingChangesMaxCapacity()
        Retrieves the maximum number of operations that may be held in the pending changes queue.
        Returns:
        The maximum number of operations that may be held in the pending changes queue, or null if it was not included in the monitor entry.
      • getPendingChangesLargestSizeReached

        @Nullable
        public java.lang.Long getPendingChangesLargestSizeReached()
        Retrieves the largest number of operations that have been in the pending changes queue at any time.
        Returns:
        The largest number of operations that have been in the pending changes queue at any time, or null if it was not included in the monitor entry.
      • getPendingChangesNumTimesAddedToFullQueue

        @Nullable
        public java.lang.Long getPendingChangesNumTimesAddedToFullQueue()
        Retrieves the number of times that the server attempted to add a change to the pending changes queue when it was already full.
        Returns:
        The number of times that the server attempted to add a change to the pending changes queue when it was already full, or null if it was not included in the monitor entry.
      • getPendingChangesNumTimesStallLogged

        @Nullable
        public java.lang.Long getPendingChangesNumTimesStallLogged()
        Retrieves the number of times that the server has logged that an operation in the pending changes queue has stalled.
        Returns:
        The number of times that the server has logged that an operation in the pending changes queue has stalled, or null if it was not included in the monitor entry.
      • getLastUpdateLatencyMillis

        @Nullable
        public java.lang.Long getLastUpdateLatencyMillis()
        Retrieves the latency, in milliseconds, of the last update that was successfully replayed.
        Returns:
        The latency, in milliseconds, of the last update that was successfully replayed, or null if it was not included in the monitor entry.
      • getRecentAverageLatencyMillis

        @Nullable
        public java.lang.Long getRecentAverageLatencyMillis()
        Retrieves the average replication latency, in milliseconds, for operations processed over a recent interval.
        Returns:
        The average replication latency, in milliseconds, for operations processed over a recent interval, or null if it was not included in the monitor entry.
      • getRecentMaximumLatencyMillis

        @Nullable
        public java.lang.Long getRecentMaximumLatencyMillis()
        Retrieves the maximum replication latency, in milliseconds, for any operation processed over a recent interval.
        Returns:
        The maximum replication latency, in milliseconds, for any operation processed over a recent interval, or null if it was not included in the monitor entry.
      • getRecentMinimumLatencyMillis

        @Nullable
        public java.lang.Long getRecentMinimumLatencyMillis()
        Retrieves the minimum replication latency, in milliseconds, for any operation processed over a recent interval.
        Returns:
        The minimum replication latency, in milliseconds, for any operation processed over a recent interval, or null if it was not included in the monitor entry.
      • getRecentNegativeLatencyUpdateCount

        @Nullable
        public java.lang.Long getRecentNegativeLatencyUpdateCount()
        Retrieves the number of negative replication latencies encountered over a recent interval.
        Returns:
        The number of negative replication latencies encountered over a recent interval, or null if it was not included in the monitor entry.
      • getRecentSumLatencyMillis

        @Nullable
        public java.lang.Long getRecentSumLatencyMillis()
        Retrieves the sum of latencies, in milliseconds, for operations processed over a recent interval.
        Returns:
        The sum of latencies, in milliseconds, for operations processed over a recent interval, or null if it was not included in the monitor entry.
      • getRecentUpdateCount

        @Nullable
        public java.lang.Long getRecentUpdateCount()
        Retrieves the number of operations processed over the recent interval used for recent replication latency calculations.
        Returns:
        The number of operations processed over the recent interval, or null if it was not included in the monitor entry.
      • getTotalAverageLatencyMillis

        @Nullable
        public java.lang.Long getTotalAverageLatencyMillis()
        Retrieves the average replication latency, in milliseconds, for operations processed since the server was started.
        Returns:
        The average replication latency, in milliseconds, for operations processed since the server was started, or null if it was not included in the monitor entry.
      • getTotalMaximumLatencyMillis

        @Nullable
        public java.lang.Long getTotalMaximumLatencyMillis()
        Retrieves the maximum replication latency, in milliseconds, for any operation processed since the server was started.
        Returns:
        The maximum replication latency, in milliseconds, for any operation processed since the server was started, or null if it was not included in the monitor entry.
      • getTotalMinimumLatencyMillis

        @Nullable
        public java.lang.Long getTotalMinimumLatencyMillis()
        Retrieves the minimum replication latency, in milliseconds, for any operation processed since the server was started.
        Returns:
        The minimum replication latency, in milliseconds, for any operation processed since the server was started, or null if it was not included in the monitor entry.
      • getTotalNegativeLatencyUpdateCount

        @Nullable
        public java.lang.Long getTotalNegativeLatencyUpdateCount()
        Retrieves the number of negative replication latencies encountered since the server was started.
        Returns:
        The number of negative replication latencies encountered since the server was started, or null if it was not included in the monitor entry.
      • getTotalSumLatencyMillis

        @Nullable
        public java.lang.Long getTotalSumLatencyMillis()
        Retrieves the sum of latencies, in milliseconds, for operations processed since the server was started.
        Returns:
        The sum of latencies, in milliseconds, for operations processed since the server was started.
      • getReplicationAssuranceSubmittedOperations

        @Nullable
        public java.lang.Long getReplicationAssuranceSubmittedOperations()
        Retrieves the number of changes that have begun processing with replication assurance enabled.
        Returns:
        The number of changes that have begun processing with replication assurance enabled, or null if it was not included in the monitor entry.
      • getReplicationAssuranceCompletedNormally

        @Nullable
        public java.lang.Long getReplicationAssuranceCompletedNormally()
        Retrieves the number of changes that were processed with replication assurance and completed successfully within the assurance constraints.
        Returns:
        The number of changes that were processed with replication assurance and completed successfully within the assurance constraints, or null if it was not included in the monitor entry.
      • getReplicationAssuranceCompletedAbnormally

        @Nullable
        public java.lang.Long getReplicationAssuranceCompletedAbnormally()
        Retrieves the number of changes that were processed with replication assurance but could not be completed successfully within the assurance constraints.
        Returns:
        The number of changes that were processed with replication assurance but could not be completed successfully within the assurance constraints, or null if it was not included in the monitor entry.
      • getReplicationAssuranceCompletedWithTimeout

        @Nullable
        public java.lang.Long getReplicationAssuranceCompletedWithTimeout()
        Retrieves the number of changes that were processed with replication assurance but could not be completed successfully within the assurance constraints because a timeout was encountered.
        Returns:
        The number of changes that were processed with replication assurance but could not be completed successfully within the assurance constraints because a timeout was encountered, or null if it was not included in the monitor entry.
      • getReplicationAssuranceCompletedWithShutdown

        @Nullable
        public java.lang.Long getReplicationAssuranceCompletedWithShutdown()
        Retrieves the number of changes that were processed with replication assurance but could not be completed successfully within the assurance constraints because of a server shutdown.
        Returns:
        The number of changes that were processed with replication assurance but could not be completed successfully within the assurance constraints because of a server shutdown, or null if it was not included in the monitor entry.
      • getRequeueRetryOpSuccessCount

        @Nullable
        public java.lang.Long getRequeueRetryOpSuccessCount()
        Retrieves the number of operations of any type that failed on their initial attempt, but that were requeued and succeeded on a retry.
        Returns:
        The number of operations of any type that failed on their initial attempt, but that were requeued and succeeded on a retry, or null if it was not included in the monitor entry.
      • getRequeueRetryOpFailedCount

        @Nullable
        public java.lang.Long getRequeueRetryOpFailedCount()
        Retrieves the number of operations of any type that failed on their initial attempt, were requeued, and failed again on a retry.
        Returns:
        The number of operations of any type that failed on their initial attempt, were requeued, and failed again on a retry, or null if it was not included in the monitor entry.
      • getRequeueRetryAddSuccessCount

        @Nullable
        public java.lang.Long getRequeueRetryAddSuccessCount()
        Retrieves the number of add operations that failed on their initial attempt, but that were requeued and succeeded on a retry.
        Returns:
        The number of add operations that failed on their initial attempt, but that were requeued and succeeded on a retry, or null if it was not included in the monitor entry.
      • getRequeueRetryAddFailedCount

        @Nullable
        public java.lang.Long getRequeueRetryAddFailedCount()
        Retrieves the number of add operations that failed on their initial attempt, were requeued, and failed again on a retry.
        Returns:
        The number of add operations that failed on their initial attempt, were requeued, and failed again on a retry, or null if it was not included in the monitor entry.
      • getRequeueRetryDeleteSuccessCount

        @Nullable
        public java.lang.Long getRequeueRetryDeleteSuccessCount()
        Retrieves the number of delete operations that failed on their initial attempt, but that were requeued and succeeded on a retry.
        Returns:
        The number of delete operations that failed on their initial attempt, but that were requeued and succeeded on a retry, or null if it was not included in the monitor entry.
      • getRequeueRetryDeleteFailedCount

        @Nullable
        public java.lang.Long getRequeueRetryDeleteFailedCount()
        Retrieves the number of delete operations that failed on their initial attempt, were requeued, and failed again on a retry.
        Returns:
        The number of delete operations that failed on their initial attempt, were requeued, and failed again on a retry, or null if it was not included in the monitor entry.
      • getRequeueRetryModifySuccessCount

        @Nullable
        public java.lang.Long getRequeueRetryModifySuccessCount()
        Retrieves the number of modify operations that failed on their initial attempt, but that were requeued and succeeded on a retry.
        Returns:
        The number of modify operations that failed on their initial attempt, but that were requeued and succeeded on a retry, or null if it was not included in the monitor entry.
      • getRequeueRetryModifyFailedCount

        @Nullable
        public java.lang.Long getRequeueRetryModifyFailedCount()
        Retrieves the number of modify operations that failed on their initial attempt, were requeued, and failed again on a retry.
        Returns:
        The number of modify operations that failed on their initial attempt, were requeued, and failed again on a retry, or null if it was not included in the monitor entry.
      • getRequeueRetryModifyDNSuccessCount

        @Nullable
        public java.lang.Long getRequeueRetryModifyDNSuccessCount()
        Retrieves the number of modify DN operations that failed on their initial attempt, but that were requeued and succeeded on a retry.
        Returns:
        The number of modify DN operations that failed on their initial attempt, but that were requeued and succeeded on a retry, or null if it was not included in the monitor entry.
      • getRequeueRetryModifyDNFailedCount

        @Nullable
        public java.lang.Long getRequeueRetryModifyDNFailedCount()
        Retrieves the number of modify DN operations that failed on their initial attempt, were requeued, and failed again on a retry.
        Returns:
        The number of modify DN operations that failed on their initial attempt, were requeued, and failed again on a retry, or null if it was not included in the monitor entry.
      • getRequeueRetrySuccessAverageDurationMillis

        @Nullable
        public java.lang.Double getRequeueRetrySuccessAverageDurationMillis()
        Retrieves the average length of time, in milliseconds, required to successfully process operations on a retry attempt after the initial failure.
        Returns:
        The average length of time, in milliseconds, required to successfully process operations on a retry attempt after the initial failure, or null if it was not included in the monitor entry.
      • getRequeueRetrySuccessMaximumDurationMillis

        @Nullable
        public java.lang.Double getRequeueRetrySuccessMaximumDurationMillis()
        Retrieves the maximum length of time, in milliseconds, required to successfully process an operation on a retry attempt after the initial failure.
        Returns:
        The maximum length of time, in milliseconds, required to successfully process an operation on a retry attempt after the initial failure, or null if it was not included in the monitor entry.
      • getRequeueRetrySuccessTotalDurationMillis

        @Nullable
        public java.lang.Long getRequeueRetrySuccessTotalDurationMillis()
        Retrieves the total length of time, in milliseconds, required to process operations that succeeded on a retry attempt after an initial failure.
        Returns:
        The total length of time, in milliseconds, required to process operations that succeeded on a retry attempt after an initial failure, or null if it was not included in the monitor entry.
      • getMonitorAttributes

        @NotNull
        public java.util.Map<java.lang.String,​MonitorAttributegetMonitorAttributes()
        Retrieves the set of parsed monitor attributes for this monitor entry, mapped from a unique identifier (in all lowercase characters) to the corresponding monitor attribute.
        Overrides:
        getMonitorAttributes in class MonitorEntry
        Returns:
        The set of parsed monitor attributes for this monitor entry.