-
Notifications
You must be signed in to change notification settings - Fork 19
Description
We very heavily rely on argument files when performing a syncing using p4.exe. It allows us to filter out unnecessary files. When we ported over to p4vfs.exe we continued to use an argument file. However I have recently noticed that they don't always succeed.
The more files to sync, the greater the chance of failure. I cannot tell if there is a safe minimum.
This seems to only occur when using an arguments file. I have not been able to reproduce the issue without an arguments file. sync and populate with an arguments file both have the same issue.
At around 25,000 files I see about a 1/6 success rate.
When it fails I have seen the following:
- Exit code will always be 1
- All files are missing. I have not encountered a partial sync.
- The p4 have table may sometimes be updated
- The error below may sometimes be printed out
- It might fail immediately, or it may first print out all of the files in the arguments file and then after a while fail
SocketModelClient.SendCommand exit with exception: One or more errors occurred.
I have attached a powershell script that I have been using to verify this. To use this script, you will have to have your p4 environment set up so that executing p4vfs sync would just start a sync.
# Tests p4vfs populate using an argument file to perform the sync
# .\p4vfs-test.ps1 -max 10000 will limit the sync to 10000 files
# .\p4vfs-test.ps1 -nofile will not use an argument file
# .\p4vfs-test.ps1 -sync will use sync instead of populate