Class ProtocolVersion


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

      Fields 
      Modifier and Type Field Description
      static short EARLIEST_VERSION
      Protocol versions 1 to 6 were defined before OpenDJ 2.6.0.
      static short HISTORICAL_REPLICATION_PROTOCOL_V1_REAL
      Deprecated.
      static short REPLICATION_PROTOCOL_V10
      The constant for the 10th version of the replication protocol, defined in OpenDJ 6.5.0.
      static 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.
      static 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.
      static 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.
      static 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.
      static short REPLICATION_PROTOCOL_V8
      The constant for the 8th version of the replication protocol, defined in OpenDJ 3.0.0.
      static short REPLICATION_PROTOCOL_V9
      The constant for the 9th version of the replication protocol, defined in OpenDJ 6.0.0.
      static short UNKNOWN_VERSION
      The constant to use when the protocol version is unknown.
    • Field Detail

      • UNKNOWN_VERSION

        public static final short UNKNOWN_VERSION
        The constant to use when the protocol version is unknown.
        See Also:
        Constant Field Values
      • 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:
        Constant Field Values
      • 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:
        Constant Field Values
      • 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:
        Constant Field Values
      • 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:
        Constant Field Values
      • 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:
        Constant Field Values
      • 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:
        Constant Field Values
      • 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:
        Constant Field Values
      • 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:
        Constant Field Values
      • 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:
        Constant Field Values
    • Method Detail

      • 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.