From a65a971f0ad318c9e300a8f5aaea3c29ebf438b7 Mon Sep 17 00:00:00 2001 From: Chris Lu Date: Sun, 8 Mar 2026 23:50:36 -0700 Subject: [PATCH] fix: replay source-side events for all handlers on cross-dir moves Pass nil newEntry to bucket, IAM, and circuit-breaker handlers for the source directory during cross-directory moves, so all watchers can clear caches for the moved-away resource. --- weed/s3api/auth_credentials_subscribe.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/weed/s3api/auth_credentials_subscribe.go b/weed/s3api/auth_credentials_subscribe.go index 38aacc768..964ee4822 100644 --- a/weed/s3api/auth_credentials_subscribe.go +++ b/weed/s3api/auth_credentials_subscribe.go @@ -35,7 +35,9 @@ func (s3a *S3ApiServer) subscribeMetaEvents(clientName string, lastTsNs int64, p // For moves across directories, also notify handlers about the source directory if message.NewParentPath != "" && resp.Directory != message.NewParentPath { - _ = s3a.onIamConfigChange(resp.Directory, message.OldEntry, message.NewEntry) + _ = s3a.onBucketMetadataChange(resp.Directory, message.OldEntry, nil) + _ = s3a.onIamConfigChange(resp.Directory, message.OldEntry, nil) + _ = s3a.onCircuitBreakerConfigChange(resp.Directory, message.OldEntry, nil) } return nil