What’s new in P4 Server 2024.1
Released: May 2024
For a complete list of what’s new in this release, see the following resources:
-
What’s new in P4 administration in the P4 Server Administration Documentation
-
What’s new in the P4 Virtual File Service (P4 VFS) Documentation
On this page:
Sparse streams
To allow you to start working with a new stream quickly, the p4 stream command includes the sparsedev and sparserel stream types.
-
To keep a sparse stream lightweight, the dm.stream.sparse.branchmax configurable allows you to set a limit on the number of files in the sparse stream.
-
If that limit needs to be exceeded, a
sparsedevstream can be converted to adevelopmentstream, and asparserelstream can be converted to areleasestream. To learn more, see the convertsparse option ofp4 stream.
Partitioned client workspace
A new type of client workspace, partitioned-jnl, might have a positive effect on performance and, like the default writeable type of client workspace, is eligible for journaling, checkpointing, and recovery. To learn more, see the Type: field of p4 client.
Configurables that support partitioned-jnl are: client.readonly.dir, db.partition.dropondelete, and db.partition.verify.
Delta transfer
The Delta Transfer feature improves performance of the p4 submit command for large binary files of type +F (see File type modifiers) from remote clients. It is possible to only send the modified portion (delta) of such files. The configurables to enable and control this are:
-
net.delta.transfer.minsize, the minimum file size for delta transfers. -
net.delta.transfer.threshold, the maximum percentage of a file that differs before the whole file is transferred rather than only transferring the deltas.
Ease of administration
Running p4 verify -t on the commit server adds any missing archives to the journal to be replicated to downstream replicas, including edge servers. To learn more, see -t in the Options of p4 verify.
The -a option of p4 depots lists all depots, including hidden depots.
A single command that deletes both a client workspace and its shelves. To learn more, see the -Fd option of p4 client.
To improve the management of configurables:
-
p4 configure showincludes the timestamp of the most recent modification of given configurable. To learn more, see show in the Options of p4 configure. -
Providing a comment when changing the value of a configurable with the
p4 configurecommand can be made mandatory by setting thedm.configure.comment.mandatoryconfigurable. -
Additional information about each configurable is available from the output of
p4 configure helpcommand. See Default value and p4 configure help. (The output ofp4 help configurableslists each configurable's Name and Use.)
Various
A new type of client workspace, partitioned-jnl, might have a positive effect on performance and, like the default writeable type of client workspace, is eligible for journaling, checkpointing, and recovery. To learn more, see the Type: field of p4 client.
Configurables that support partitioned-jnl are: client.readonly.dir, db.partition.dropondelete, and db.partition.verify.
For security, consider setting the dm.user.hideinvalid configurable.
Support for adding comments preceded by ## to the View section of p4 client, p4 branch, and p4 label specs, as well as to the Typemap section of p4 typemap specs. (These follow the same pattern as protection table Comments.)
The db.journalrotate.warnthresh can be set to remind admins and users of type operator to rotate the journal.
The dm.change.skipkeyed configurable might improve performance for p4 populate.
The submit.storagefields configurable controls the action of a submit request with regards to the compCksum field in a storage record.