Data Integrity
Files.com performs integrity checks during Sync transfers to help detect incomplete or altered data. These include transfer-size comparisons and checksum validation where the Remote Server and protocol support them. The available checks depend on the connection; whole-file checksum comparisons are not available for every Remote Server.
Transfer validation is separate from determining which files need to sync. Sync uses filenames and file sizes to select missing or changed files. That selection does not compare checksums: a file whose contents change without a change in name or size is not selected solely because its contents changed. A later Sync run can select a file whose size differs, but that later comparison is not a substitute for the checks performed during the transfer.
Sync requires the source and destination systems to report file sizes accurately so it can make those selection decisions. If a Remote Server cannot report sizes accurately, use a Remote Server Mount with an Automation to select files through a workflow that does not rely on Sync's size comparison.
For supported object storage connections, Sync also checks for source changes during a run and defers files that are still changing.
Concurrent Access
A race condition occurs when the result depends on the order of overlapping operations on the same files. For example, a Sync lists incoming/report.csv, then an Automation moves that file before the Sync reads it. The Sync can no longer transfer the selected path. If the move happens before the folder is listed, that file is no longer part of the Sync's source selection.
Two jobs writing the same destination name can also compete to decide which contents remain there. This is a question of workflow order: a transfer check cannot decide which of two valid source files your business wants at that path. Give independent outputs distinct names or folders, and sequence dependent work by completion.
On a Remote Server, a producing application may still be writing a readable file. Successfully transferring the bytes available at that moment does not establish that the producer has finished. Have the producer finish in a working folder before making the file available in a pickup folder, or use a temporary name that the producer changes only after completion. Configure include and exclude patterns to select only the completed files.
Coordinate every process that uses the same files, including other Syncs, Automations, mounted access, and applications on the remote system. In particular, a job that deletes or moves source files must run after every required consumer has finished with them. A later scheduled start leaves time between jobs but does not guarantee that an earlier job has completed.
Review Sync logs for the affected files and compare their activity with the other processes. If a completed transfer contains unexpected data or a selected file has no recorded outcome, contact Support with the run and file paths so the cause can be investigated.