Class ProtocolVersion

java.lang.Object
org.opends.server.replication.protocol.ProtocolVersion

public final class ProtocolVersion extends Object
The version utility class for the replication protocol.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final short
    Protocol versions 1 to 6 were defined before OpenDJ 2.6.0.
    static final short
    Deprecated.
    static final short
    The constant for the 10th version of the replication protocol, defined in OpenDJ 6.5.0.
    static final short
    The constant for the 11th version of the replication protocol, defined in OpenDJ 7.0.0 MonitorMsgRequest and MonitorMsg are only used for compatibility with previous versions.
    static final short
    The constant for the 12th version of the replication protocol, defined in OpenDJ 7.3.0, IdCloud 2022.10 Compress EntryMsg payload.
    static final short
    The constant for the 13th version of the replication protocol, defined in OpenDJ 7.3.0, IdCloud 2022.14 Introduce replication status TOO_LATE_STATUS, used by replicas not covered by the changelog.
    static final short
    The constant for the 14th version of the replication protocol, defined in OpenDJ 7.3.0, IdCloud 2022.17 ExtendedStartMsg add heartbeat interval.
    static final short
    The constant for the 8th version of the replication protocol, defined in OpenDJ 3.0.0.
    static final short
    The constant for the 9th version of the replication protocol, defined in OpenDJ 6.0.0.
    static final short
    The constant to use when the protocol version is unknown.
  • Method Summary

    Modifier and Type
    Method
    Description
    static short
    getCompatibleVersion(short version)
    Specifies the oldest version of the protocol from the provided one and the latest one.
    static short
    Gets the latest version of the replication protocol.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • UNKNOWN_VERSION

      public static final short UNKNOWN_VERSION
      The constant to use when the protocol version is unknown.
      See Also:
    • HISTORICAL_REPLICATION_PROTOCOL_V1_REAL

      @Deprecated public static final short HISTORICAL_REPLICATION_PROTOCOL_V1_REAL
      Deprecated.
      Version used in the first version of the protocol, do not reuse to avoid conflicts.
      See Also:
    • REPLICATION_PROTOCOL_V8

      public static final short REPLICATION_PROTOCOL_V8
      The constant for the 8th version of the replication protocol, defined in OpenDJ 3.0.0.
      • New ReplicaOfflineMsg.
      See Also:
    • REPLICATION_PROTOCOL_V9

      public static final short REPLICATION_PROTOCOL_V9
      The constant for the 9th version of the replication protocol, defined in OpenDJ 6.0.0.
      • Drop support for send/receive window.
      See Also:
    • REPLICATION_PROTOCOL_V10

      public static final short REPLICATION_PROTOCOL_V10
      The constant for the 10th version of the replication protocol, defined in OpenDJ 6.5.0.
      • Group ID is a string. Legacy Group ID is set to
        • a number between 1 and 127 included, if the Group ID can be parsed to such an integer.
        • 1 for all other cases.
      • Assured Replication: message types and flags related to it have been removed.
      • New ExtendedStartMsg to exchange GroupId and ProcessId.
      See Also:
    • REPLICATION_PROTOCOL_V11

      public static final short REPLICATION_PROTOCOL_V11
      The constant for the 11th version of the replication protocol, defined in OpenDJ 7.0.0
      • MonitorMsgRequest and MonitorMsg are only used for compatibility with previous versions.
      • Server IDs can be strings.
      • TopologyMsg add service discovery information.
      See Also:
    • REPLICATION_PROTOCOL_V12

      public static final short REPLICATION_PROTOCOL_V12
      The constant for the 12th version of the replication protocol, defined in OpenDJ 7.3.0, IdCloud 2022.10
      • Compress EntryMsg payload.
      See Also:
    • REPLICATION_PROTOCOL_V13

      public static final short REPLICATION_PROTOCOL_V13
      The constant for the 13th version of the replication protocol, defined in OpenDJ 7.3.0, IdCloud 2022.14
      • Introduce replication status TOO_LATE_STATUS, used by replicas not covered by the changelog.
      See Also:
    • REPLICATION_PROTOCOL_V14

      public static final short REPLICATION_PROTOCOL_V14
      The constant for the 14th version of the replication protocol, defined in OpenDJ 7.3.0, IdCloud 2022.17
      • ExtendedStartMsg add heartbeat interval.
      See Also:
    • EARLIEST_VERSION

      public static final short EARLIEST_VERSION
      Protocol versions 1 to 6 were defined before OpenDJ 2.6.0. Those versions are not supported anymore. Version 2 of the protocol added support for:
      • Add fields in the header for assured replication.
      Version 3 of the protocol added support for:
      • Add messages for remote ECL : not used as of today.
      Version 4 of the protocol added support for:
      • Add to the body of the ADD/MOD/MODDN/DEL msgs, a list of attribute for ECL entry attributes.
      • Modified algorithm for choosing a RS to connect to: introduction of a ReplicationServerDSMsg message.
      • also added of the server URL in RSInfo of TopologyMsg
      • Introduction of a StopMsg for proper connections ending.
      • Initialization failover/flow control
      Version 5 of the protocol added support for:
      • Add support for wild-cards in change log included attributes
      • Add support for specifying additional included attributes for deletes
      • See OPENDJ-194.
      Version 6 of the protocol added support for:
      • include DS local URL in the DSInfo of TopologyMsg.
      See Also:
  • Method Details

    • getLatestVersion

      public static short getLatestVersion()
      Gets the latest version of the replication protocol.
      Returns:
      The latest version of the protocol.
    • getCompatibleVersion

      public static short getCompatibleVersion(short version)
      Specifies the oldest version of the protocol from the provided one and the latest one.
      Parameters:
      version - The version to be compared to the latest one.
      Returns:
      The minimal protocol version.