Skip to content

Sync using an arguments file fails frequently. [p4vfs -x {file} sync] #42

@pmintusEA

Description

@pmintusEA

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

p4vfs-test.ps1.txt

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions