P4D "-xx" Flag
Check and repair table inconsistencies
Warning: If you suspect Perforce database corruption and don't have a current checkpoint and journal files you should call or e-mail Perforce support immediately. Attempting to address the issue on your own can result in the corruption or loss of your data.
SUMMARY
The "-xx" flag performs a consistency check between Perforce database table pairs, and attempts to produce a journal file that repairs any inconsistencies. The basic syntax is:p4d -xx [db.table_1 db.table_2]
DETAILS
This command is usually used with the "-xv" and/or "-xr" commands to attempt to check table pairs. If any inconsistencies are found, a special journal file is created, "jnl.fix", which contains a set of delete ("@dv@") and create ("@pv@") journal records.When run without arguments, all table pairs are checked. If valid table pairs are given, only those tables are checked. Invalid pairs are ignored quietly (no error is generated). Valid pairs display messages in the format:
Check db.table_1/db.table_2...Valid table pairs are (as of 2008.1):
- db.change/db.desc
- db.fix/db.job
- db.have/db.rev
- db.integ/db.rev
- db.working/db.have
- db.working/db.rev
- db.rev/db.revcx
- db.working/db.locks
- db.change/db.changex
- db.rev/db.revhx
- db.rev/db.revdx
Perforce server error: db.table_1/db.table_2 inconsistencies found.For example:
p4d -xx Check db.change/db.desc... Check db.fix/db.job... Check db.have/db.rev... Perforce server error: db.have/db.rev inconsistencies found. Check db.integ/db.rev... Check db.working/db.have... Check db.working/db.rev... Check db.rev/db.revcx... Check db.working/db.locks... Check db.change/db.changex... Check db.rev/db.revhx... Check db.rev/db.revdx...If no error messages are generated the "jnl.fix" file will not be created.
The "jnl.fix" file, like any journal file, is applied to the server by providing the filename argument to the "p4d -jr" command. For example:
p4d -jr jnl.fixNote:
The "jnl.fix" file should always be checked by Perforce support before being applied to your Perforce database. You should always perform a checkpoint before applying any fixes.
