System requirements

Replica servers must match the master server in the following:

  • release version - see Upgrading the server
  • Important

    Replica servers must be at the same release level as the master server, or at a release later than the master server.

    A given feature only works if both the master and the replica are at a release level that supports the feature.

  • Unicode setting and encoding, such as UTF-8
  • file system case-sensitivity
  • permitted characters - for example:

    • macOS file names cannot contain a colon (:)
    • Windows NTFS excludes / ? < > \ : * | " and a full path is limited to 260 characters
  • time zone setting

    • On Windows, the time zone setting is system-wide
    • On UNIX, the time zone setting is controlled by the TZ environment variable at the time the replica server is started
  • A current checkpoint and versioned files from the master server are required for initial seeding of the replica server.

 Additionally,

  • p4 pull (when replicating metadata) does not read compressed journals.
    • The master server must not compress journals until the replica server has fetched all journal records from older journals.
    • Only one metadata-updating p4 pull thread can be active at one time.
  • The replica server does not need a duplicate license file, however, if the replica serves as a failover server for the master, a duplicate license file is recommended. Fill out the form for a Helix Core Duplicate Server Request.
Note

See the details for the lbr.replication configurable.

Enabling SSL support

To encrypt the connection between a replica server and its end users, the replica must have its own valid private key and certificate pair in the directory specified by its P4SSLDIR environment variable. Certificate and key generation and management for replica servers works the same as it does for the (master) server. See Enabling SSL support. The users' Helix Server applications must be configured to trust the fingerprint of the replica server.

To encrypt the connection between a replica server and its master, the replica must be configured so as to trust the fingerprint of the master server. That is, the user that runs the replica p4d (typically a service user) must create a P4TRUST file (using p4 trust) that recognizes the fingerprint of the master Helix Core Server.

The P4TRUST variable specifies the path to the SSL trust file. You must set this environment variable in the following cases:

  • for a replica that needs to connect to an SSL-enabled master server, or
  • for an edge server that needs to connect to an SSL-enabled commit server.