Server side coordination of multiple writers to a collection
Multiple Arvados services (multiple instances of keep-web, arvados-client mount, arv-mount, etc) are trying to write files to the same collection at the same time.
Assume they are adding/removing/changing multiple files but not making changes that directly conflict/contradict one another.
- If a file is created or modified it won't disappear as a result of an update from another service that didn't know about that file
- If there is a single writer, performance impact should be minimal
- If there are multiple writers, it is acceptable that one of them may have to wait to avoid conflicts
- Can use pessimistic locking to ensure only one client can have a write lock at a time, attempting to open a file for writing that is locked by another should return an error on open
- Support WebDAV lock protocol