Background archive transfer for edge server submits

Users on one or more of the edge servers might want to spend less time waiting for their submits to complete. Starting with 2019.1, you can configure the replication environment so that one or more of the edge servers participate in the background transfer of archive files to the commit server. For a participating edge server,

  1. The edge server sends the metadata to the commit server.
  2. The user on that edge server sees the submit is complete and can resume work.
  3. In the background, the commit server pulls the archive files from the edge server.

Prior to 2019.1, the user on an edge server would need to wait for both the submitted archive files and the metadata to be transferred to the commit server.

To enable background archive transfer

Prerequisites

  • Ensure a service user is defined for the commit server and that this service user is logged into the ExternalAddress field of the server specification for each of the edge servers that you want to participate.
  • If any of the participating edge servers are enabled for SSL/TSL security, ensure the service user on the commit server has established trust to the ExternalAddress field for those edge servers.

Steps with convenient alias

To enable background archive transfer with the added convenience of p4 submit automatically functioning as p4 submit -b so that your users do not need to use the -b option:

  1. Set the submit.allowbgtransfer configurable to 1 on the edge server(s) that you want to participate.
  2. Set the lbr.autocompress configurable to 1 on ALL the servers.
  3. Set the submit.autobgtransfer configurable to 1 on the edge server(s) that you want to participate.

Steps without the alias

Alternatively, you can tell your users to manually issue the p4 submit -b command, where the -b option causes background transfer of the archive files. In this case:

  1. Set the submit.allowbgtransfer configurable to 1 on the edge server(s) that you want to participate.
  2. Set the lbr.autocompress configurable to 1 on ALL the servers .

Commit server and p4 sync

A p4 sync command that is running on a commit server for a file revision that was submitted from an edge server might return a librarianClosed The librarian subsystem of the server stores, manages, and provides the archive files to other subsystems of the server. error message. This can occur if the background file transfer from the edge to the commit has not yet completed. To make the sync operation on the commit server wait for the file transfer to be completed, set the submit.allowbgtransfer configurable:

p4 configure set commit-server-ID#submit.allowbgtransfer=1

Commit server recovery of a failed archive transfer

To recover a failed archive transfer, restart the transfer by using the p4 pull -u -t target command, where target represents the ExternalAddress of the edge server where the submit occurred that caused the failed transfer.

For details on background file content transfers, including errors due to failed transfers, see the output of p4 pull -l against the commit server.