Skip to content

Add notes about care and feeding of unison during filesystem operations #30

@grayside

Description

@grayside

In light of phase2/rig#147, we should consider some documentation updates to set some expectations about unison.

I was thinking something like the following added to the end of ./docs/project-setup/filesystem-sync.md:

## Pushing Filesystem Sync Limits

In practice, it is possible to push the filesystem sync so hard that the process
crashes. The Outrigger team is currently working on improvements to detect and
automatically address this problem.

Unison works well to detect filesystem changes and transfer the files involved
in those changes, but anything which causes a significant amount of change will
first create a significant work backlog, and anything which causes
conflicting filesystem changes that also create a deep backlog can overwhelm the
process.

The following kinds of activities can be expected to be problematic:

* Switching branches in version control where many files are added, removed, or changed.
* Renaming or removing a directory with many files or large files.
* Copying or moving large numbers of files from outside the filesync directory
  into that directory.

If you have found an operation along these lines causes problems, run `rig project sync:stop` first,
run your operation, then restart the filesync with `rig project sync`.

This will allow unison to review the current state of all files as they currently
exist without the potential problems from a flood of filesystem events.

Should we add interim documentation along these lines?

Metadata

Metadata

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