diff options
| author | chrislu <chris.lu@gmail.com> | 2025-11-05 22:53:26 -0800 |
|---|---|---|
| committer | chrislu <chris.lu@gmail.com> | 2025-11-05 22:53:26 -0800 |
| commit | 0a3bc313b32872b3f0f967747156a758229c4818 (patch) | |
| tree | b16e8fc1a19cd1be7bfed3aef5b91f64427a8930 | |
| parent | de24b2e42c67d9cc96f7ff97660e505ef58c96d1 (diff) | |
| download | seaweedfs-0a3bc313b32872b3f0f967747156a758229c4818.tar.xz seaweedfs-0a3bc313b32872b3f0f967747156a758229c4818.zip | |
context
| -rw-r--r-- | weed/server/filer_grpc_server.go | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/weed/server/filer_grpc_server.go b/weed/server/filer_grpc_server.go index 34c5eb773..5a51faeeb 100644 --- a/weed/server/filer_grpc_server.go +++ b/weed/server/filer_grpc_server.go @@ -310,8 +310,10 @@ func (fs *FilerServer) DeleteEntry(ctx context.Context, req *filer_pb.DeleteEntr stopAtPath = "/" } - // Clean up empty parent directories starting from req.Directory - fs.filer.DeleteEmptyParentDirectories(ctx, util.FullPath(req.Directory), stopAtPath) + // Use non-cancellable context to ensure cleanup completes atomically + // even if the client cancels the request after deletion succeeds + opCtx := context.WithoutCancel(ctx) + fs.filer.DeleteEmptyParentDirectories(opCtx, util.FullPath(req.Directory), stopAtPath) } return resp, nil |
