Helix Core Server Administrator Guide: Fundamentals (2019.1)

From 2013.3 or later to 2019.1 (single server)

The 2019.1 upgrading steps are different from those of previous releases.

Note

The new db.storage table replaces db.archmap to provide a link count for archive files on the server. This allows +Sn type files to be lazy copied, which saves disk space. The upgrade also improves the performance of p4 obliterate, especially on servers with significant integration history.

These instructions assume you have a single server. If not, see From 2013.3 or later to 2019.1 (distributed environment).

Note
  • A proxy or broker only needs the get the latest binary.
  • You do NOT need to run p4d -xu against offline db.* files.

Prerequisites

Important
  • To upgrade Helix Server to a newer version, your Helix Server license file must be current.
  1. Time:
    • Phase 1 of the upgrade requires that the servers be down for several minutes.
    • Phase 2 of the upgrade runs in the background so users can work. This phase might take several hours. Performance might be slower while the db.storage table is being built.
      • Environments with a db.rev table larger than 200 GB might take a couple hours to complete.
      • Smaller environments might only take several minutes.
  2. Available disk space should be at least equal to the size of the db.rev table. (The journal file can grow to the size of the new db.storage table. Typically, the journal is on a separate partition.)
  3. Make sure that journaling is enabled because journal replication is how the new upgraded table will be copied to other servers.
  4. Be prepared to upgrade all the servers in a single upgrade session.
Important
  • We strongly recommend that you take a checkpoint so that you know you can recover if something goes wrong during the upgrade. (See Checkpoint files.) It is best to take the checkpoint at a time when the end-users are not active.
  • Let the users know that the server will be down several minutes for maintenance, followed by several hours in which performance might be slower and the following commands are blocked:

Upgrade Steps

In the following steps, replace

  • [P4ROOT] with the path to the P4ROOT directory
  • [P4JOURNAL] with the directory path and name of the journal file

Phase 1

  1. Shut down the server by running p4 admin stop

  2. Install the 19.1 version of the p4d binary on the system.
  3. As the OS account owner of the Helix server, run p4d -r [P4ROOT] -J [P4JOURNAL] -xu
  4. Wait until you see this sequence of messages complete and expect a pause after the first message:
    2019.1: building db.storage from db.rev, db.revsh and db.revtx
    [pause]
    2019.1: Adding default namespace to Extension configurations
    ...upgrades done
  5. As the OS account owner of the Helix server, start the server. This starts a background process to build the db.storage table, a new table in the Helix server schema.

  6. Inform your users that they can resume work.

Phase 2

  1. To know when the background upgrade process is complete, run p4 storage -w on the the innermost server.
  2. Wait for p4 storage -w to return the following message: "The storage upgrade process is complete".
  3. To monitor progress, on a separate command-line terminal, run ls -l db.storage from time to time to verify that the timestamp or filesize is increasing.