Skip to content

Remove the unconditional 5s sleep at the end of moveLink - #7

Open
pwnorbitals wants to merge 1 commit into
rclone:masterfrom
pwnorbitals:drop-unconditional-sleep-after-move
Open

Remove the unconditional 5s sleep at the end of moveLink#7
pwnorbitals wants to merge 1 commit into
rclone:masterfrom
pwnorbitals:drop-unconditional-sleep-after-move

Conversation

@pwnorbitals

@pwnorbitals pwnorbitals commented Aug 24, 2026

Copy link
Copy Markdown

moveLink ends with time.Sleep(5 * time.Second) after MoveLink has already returned
successfully. It is unconditional, so every move and rename pays it, and rclone's Proton Drive
backend calls this once per item - a directory move of 100 entries spends over eight minutes
asleep.

The nearest thing to a rationale is the TODO above the call, about cache staleness and a
possible race while a move is in flight. If the sleep is in fact guarding propagation delay
then this PR is wrong and I would rather be told so than guess - but an unconditional wait in
the library is an expensive way to express it, and a retry at the point that reads the moved
link would express it without charging every caller.

"time" was imported for this line alone, so it goes with it.

(obviously Claude Code, but has been under heavy use for more than a week with no visible issue)

moveLink ends with time.Sleep(5 * time.Second) after MoveLink has already returned
successfully. It is unconditional, so every move and rename pays it, and rclone's Proton Drive
backend calls this once per item - a directory move of 100 entries spends over eight minutes
asleep.

The nearest thing to a rationale is the TODO above the call, about cache staleness and a
possible race while a move is in flight. If the sleep is in fact guarding propagation delay
then this PR is wrong and I would rather be told so than guess - but an unconditional wait in
the library is an expensive way to express it, and a retry at the point that reads the moved
link would express it without charging every caller.

"time" was imported for this line alone, so it goes with it.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants