Helix Core Server Administrator Guide: Fundamentals (2018.2)

Upgrading Helix Server - between 2013.2 and 2013.3

Important

To upgrade Helix Server to a newer version, your license file must be current. Expired licenses do not work with upgraded versions.

Follow the instructions in this section if your old version is 2013.2 or earlier and your new version is 2013.3 or later.

Note

Helix Server requires two executables:

  • the Helix Core Server, also referred to as the Perforce service (p4d)
  • at least one Helix Server application, such as the Command-Line Client ( p4)

The Perforce service and applications are available on the Perforce web page for Downloads.

Helix Server 2013.3 contains major changes to the database implementation. These changes allow for increased concurrency and scalability, and increase the size limit for the db.* database files to 16TB.

Although the db.* database file format has changed, the checkpoint and journal file formats are identical. To upgrade from 2013.2 (or earlier) to 2013.3 (or later), you must restore the database from a checkpoint. To do this:

  1. Stop the Perforce service (p4 admin stop).
  2. Make a checkpoint and back up your old installation. (see Backup procedures)
  3. If a file called tiny.db exists in your old server root, you must back it up separately by running the following command with the old p4d:

    p4d -xf 857 > tiny.ckp

  4. Remove the old db.* files, or preferably, move them to a safe location in the event that the upgrade fails by using mv (Linux) or move (Windows). For example:

    mv your_root_dir /db.* /tmp

    There must be no db.* files in the P4ROOT directory when you rebuild a database from a checkpoint. Although the old db.* files will not be used again, it’s good practice not to delete them until you’re certain your upgrade was successful.

  5. Remove the rdb.lbr file, if it exists.

    The rdb.lbr file keeps track of files that need to be transferred to the (local) replica, and may become out of date while the upgrade is underway. Note that this file only exists if your Perforce service was configured as a replica.

  6. Replace the old (2013.2 or earlier) p4d executable with the new (2013.3 or later) p4d executable.

    Do not run p4d -xu after replacing p4d at this time. In this upgrade scenario, you are not upgrading an existing database, you have removed it completely and will rebuild it from the checkpoint that you just took.

  7. Use the upgraded p4d to replay the checkpoint and rebuild the new database tables:

    p4d -r your/P4ROOT/directory -jr checkpoint_file

  8. If your site uses localized server messages from a message file obtained through Perforce technical support, retrieve the original message.txt file and re-create db.message in the new database format by running the following command with the new p4d:

    p4d -jr absolute/path/to/message.txt

    See Localizing server error messages for more information.

  9. If you created a tiny.ckp file as part of your backup process, restore tiny.db by running the following command with the new p4d:

    p4d -xf 857 tiny.ckp
  10. Run p4d -xu against the Helix Server database to update the database schema:

    p4d -r your/P4ROOT/directory -J myJournal -xu

  11. Restart the Perforce service and resume operations.