From cf9482442630d0b4854d312a1890ee8ec3f11fd6 Mon Sep 17 00:00:00 2001 From: Nick Craig-Wood Date: Wed, 12 Nov 2025 15:42:25 +0000 Subject: [PATCH] dropbox: fix error moving just created objects - fixes #8881 The bisync tests have been failing as Dropbox is failing to move just created objects. This seems to be caused by an eventual consistency problem so this attempts to fix it by retrying the specific error. --- backend/dropbox/dropbox.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/backend/dropbox/dropbox.go b/backend/dropbox/dropbox.go index 25cfe2e9d..1d0489f1c 100644 --- a/backend/dropbox/dropbox.go +++ b/backend/dropbox/dropbox.go @@ -1330,6 +1330,16 @@ func (f *Fs) Move(ctx context.Context, src fs.Object, remote string) (fs.Object, var result *files.RelocationResult err = f.pacer.Call(func() (bool, error) { result, err = f.srv.MoveV2(&arg) + switch e := err.(type) { + case files.MoveV2APIError: + // There seems to be a bit of eventual consistency here which causes this to + // fail on just created objects + // See: https://github.com/rclone/rclone/issues/8881 + if e.EndpointError != nil && e.EndpointError.FromLookup != nil && e.EndpointError.FromLookup.Tag == files.LookupErrorNotFound { + fs.Debugf(srcObj, "Retrying move on %v error", err) + return true, err + } + } return shouldRetry(ctx, err) }) if err != nil {