mirror of
https://github.com/narrrl/proton-drive-linux.git
synced 2026-11-04 00:47:00 +01:00
fix(fuse): put a deadline on every remote call the drain makes
create_folder, trash_nodes, the twin listing and the uploads waited on Drive without a limit, so one call that never answered held a drain thread for good. They now give up after INTERACTIVE_CALL_TIMEOUT, and uploads after that plus their size at 32 KiB/s; a missed deadline reads as RequestTimeout, so the op backs off like any lost link.
This commit is contained in:
1 parent
0dc476dfb7
commit
9b3651e4e8
4 files changed
+97
-43
No files matched your search
@@ -31,6 +31,9 @@ are kept. Queued changes get a column for the reason Drive refused them.
|
||||
for this release.
|
||||
|
||||
### Fixed
|
||||
- **A queued change no longer holds up the queue forever on a link that stops answering.**
|
||||
Sending a new folder, a delete or a file waits at most 20 seconds for Drive, plus time for
|
||||
the file's size, and then the queue treats the link as down and tries again.
|
||||
- **A file deleted while its first upload is on the wire no longer stays on Drive.** The node
|
||||
the upload made is trashed as soon as it lands, so its name is free again (B129).
|
||||
- **A delete queued while a rename is sent is no longer lost.** The rename landing could remove
|
||||
|
||||
@@ -50,7 +50,8 @@ Tracks `docs/MILESTONE-3.0.0.md`. Update it with every commit that moves a phase
|
||||
3.0.0).
|
||||
- **Phase 4**: one applier for remote changes.
|
||||
- **Phase 5**: mirror folders on the same planner and executor.
|
||||
- **Any time**: `Size` and block geometry as types; a `Deadline` on every remote call.
|
||||
- **Any time**: `Size` and block geometry as types; a deadline on the remote calls outside
|
||||
the drain (the drain's have one: `link::upload_deadline`, `Core::block_on_within`).
|
||||
- Open questions in §12 of the milestone.
|
||||
- `PLAN.md`: the acceptance script notices network drops and reports `interrupted` instead of
|
||||
TIMEOUT.
|
||||
Reference in new issue
Block a user