Idea #20693
Updated by Peter Amstutz 11 months ago
Background:
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.
Requirements:
* 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