allow uncoordinated reads concurrent with writes of a mutable file or directory locally #1105
Labels
No Label
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.7.0
0.8.0
0.9.0
1.0.0
1.1.0
1.10.0
1.10.1
1.10.2
1.10a2
1.11.0
1.12.0
1.12.1
1.13.0
1.14.0
1.15.0
1.15.1
1.2.0
1.3.0
1.4.1
1.5.0
1.6.0
1.6.1
1.7.0
1.7.1
1.7β
1.8.0
1.8.1
1.8.2
1.8.3
1.8β
1.9.0
1.9.0-s3branch
1.9.0a1
1.9.0a2
1.9.0b1
1.9.1
1.9.2
1.9.2a1
LeastAuthority.com automation
blocker
cannot reproduce
cloud-branch
code
code-dirnodes
code-encoding
code-frontend
code-frontend-cli
code-frontend-ftp-sftp
code-frontend-magic-folder
code-frontend-web
code-mutable
code-network
code-nodeadmin
code-peerselection
code-storage
contrib
critical
defect
dev-infrastructure
documentation
duplicate
enhancement
fixed
invalid
major
minor
n/a
normal
operational
packaging
somebody else's problem
supercritical
task
trivial
unknown
was already fixed
website
wontfix
worksforme
No Milestone
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Reference: tahoe-lafs/trac-2024-07-25#1105
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
In the fix to #265 in Tahoe v1.1,
MutableFileNode
s were made to serialize writes to a given mutable file or directory by a single gateway / storage client.As mentioned in /tahoe-lafs/trac-2024-07-25/issues/5327#comment:-1, this does not apply to concurrent reads and writes -- the read may fail rather than obtaining some snapshot of the file or directory.
Clients using filesystem-like interfaces such as SFTP or FUSE may not expect such failures. At the time of writing, the SFTP documentation at wiki/SftpFrontend incorrectly claims that readers will get a snapshot of the file. (For mutable files, this problem applies directly to the file; for immutable files it applies to the parent directory when that is mutable.)
Replying to davidsarah:
This doc is fixed by wiki/SftpFrontend?action=diff&version=49&old_version=46 .
Is it clear to readers of wiki/SftpFrontend that "concurrent" accesses through a single gateway will get serialized? Should it be?
Replying to zooko:
When sshfs is used, there should be a single sshfs mount: wiki/SftpFrontend?action=diff&version=50&old_version=49
I don't want to make statements about serialization in the docs that are stronger than what is actually implemented. I think wiki/SftpFrontend is now accurate, even if it doesn't quite give the full story.
This improvement would be useful for the drop-upload feature, because you can't really avoid the possibility of concurrent reads and writes on the upload directory if you want to be able to read it while it is still active.
allow uncoordinated reads and writes of a mutable file or directory locallyto allow uncoordinated reads concurrent with writes of a mutable file or directory locallyAdd magic-folder keyword to all drop-upload tickets.
This does not affect the intended Magic Folder design, since a client should not read its own DMD concurrently with writing it. It reads its own DMD on start-up, and other clients' DMDs on each scan, but it should not write its own DMD until after the start-up scan.
However,
I'm not sure that this isthis is not currently implemented correctly. Filed #2553 to track it.