Upgrading replica servers

Upgrade replicas before upgrading the master

We recommend that you first upgrade any server that replicates from a master server. If replicas are chained together, start at the replica that is furthest downstream from the master, and work upstream towards the master server. Keep downstream replicas stopped until the server immediately upstream is upgraded. Minimize the time between the upgrades.

Note

There has been a significant change in release 2013.3 that affects how metadata is stored in db.* files; despite this change, the database schema and the format of the checkpoint and the journal files between 2013.2 and 2013.3, remains unchanged.

Consequently, in this one case (of upgrades between 2013.2 and 2013.3), it is sufficient to stop the replica until the master is upgraded, but the replica (and any replicas downstream of it) must be upgraded to at least 2013.2 before a 2013.3 master is restarted.

When upgrading between 2013.2 (or lower) and 2013.3 (or higher):

  • before shutting down the replica and commencing the upgrade, wait for all archive transfers to end
  • before restarting the replica, you must manually delete the rdb.lbr file in the replica server’s root

Steps to upgrade a replica server in a p4 pull environment

Note

If you are changing the hostname or IP of the master server, additional steps are required.

The following process is the same for all replica types, whether you are working with a read-only replica, a forwarding replica, a build server, or commit-edge.

On the replica

  1. Stop the replica server with p4 admin stop.
  2. Take a checkpoint of the replica server: p4d -r /usr/replica/root -J journal -jd checkpoint
  3. Replace the replica server's p4d executable.
  4. Upgrade the replica database: p4d -r /usr/replica/root -J journal -xu
  5. For each of your replica servers, repeat steps 1 - 4.

On the master

  1. Stop the master server:

    p4 admin stop

  2. Take a checkpoint of the master server and back up its versioned files:

    p4d -r /usr/master/root -J journal -jc prefix

    where prefix is the journal prefix that the production environment uses.

    Note

    The only way to recover from failures that might occur during the upgrade process is to restore from this checkpoint.

  3. Replace the master server's p4d executable.
  4. Upgrade the master database:

    p4d -r /usr/master/root -J journal -xu

  5. Start the upgraded master server:

    p4d -p 1666 -r /usr/master/root -J journal -d

On each of the upgraded replica servers

Start the server:

p4d -p 6661 -r /usr/replica/root -J journal -d