aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKonstantin Lebedev <9497591+kmlebedev@users.noreply.github.com>2023-10-12 20:15:20 +0500
committerGitHub <noreply@github.com>2023-10-12 08:15:20 -0700
commitedee91ef0eb7f7612ae961ac1d1ace2afbd92b87 (patch)
tree1c800956ff1d8304fefbf3503fdc2999c734143a
parent35b5264ab77fcc0e2e11ad72e92aabe82a567a8b (diff)
downloadseaweedfs-edee91ef0eb7f7612ae961ac1d1ace2afbd92b87.tar.xz
seaweedfs-edee91ef0eb7f7612ae961ac1d1ace2afbd92b87.zip
fix has changes false if deleted result size eq zero (#4909)
* fix has changes false if deleted result size eq zero https://github.com/seaweedfs/seaweedfs/issues/4171 * fix change respos status 202 to 304 if the file has already been deleted https://github.com/seaweedfs/seaweedfs/issues/4171 * fix delete if set apply changes https://github.com/seaweedfs/seaweedfs/issues/4171 --------- Co-authored-by: Konstantin Lebedev <9497591+kmlebedev@users.noreply.github.co>
-rw-r--r--weed/server/volume_grpc_batch_delete.go5
-rw-r--r--weed/shell/command_volume_check_disk.go4
2 files changed, 7 insertions, 2 deletions
diff --git a/weed/server/volume_grpc_batch_delete.go b/weed/server/volume_grpc_batch_delete.go
index 8deb96a80..db67ae9f5 100644
--- a/weed/server/volume_grpc_batch_delete.go
+++ b/weed/server/volume_grpc_batch_delete.go
@@ -87,6 +87,11 @@ func (vs *VolumeServer) BatchDelete(ctx context.Context, req *volume_server_pb.B
Status: http.StatusInternalServerError,
Error: err.Error()},
)
+ } else if size == 0 {
+ resp.Results = append(resp.Results, &volume_server_pb.DeleteResult{
+ FileId: fid,
+ Status: http.StatusNotModified},
+ )
} else {
resp.Results = append(resp.Results, &volume_server_pb.DeleteResult{
FileId: fid,
diff --git a/weed/shell/command_volume_check_disk.go b/weed/shell/command_volume_check_disk.go
index ae790a418..3e2512bdd 100644
--- a/weed/shell/command_volume_check_disk.go
+++ b/weed/shell/command_volume_check_disk.go
@@ -271,7 +271,7 @@ func doVolumeCheckDisk(minuend, subtrahend *needle_map.MemDb, source, target *Vo
}
- if doSyncDeletions && len(partiallyDeletedNeedles) > 0 {
+ if doSyncDeletions && applyChanges && len(partiallyDeletedNeedles) > 0 {
var fidList []string
for _, needleValue := range partiallyDeletedNeedles {
fidList = append(fidList, needleValue.Key.FileId(source.info.Id))
@@ -286,7 +286,7 @@ func doVolumeCheckDisk(minuend, subtrahend *needle_map.MemDb, source, target *Vo
return hasChanges, deleteErr
}
for _, deleteResult := range deleteResults {
- if deleteResult.Status == http.StatusAccepted {
+ if deleteResult.Status == http.StatusAccepted && deleteResult.Size > 0 {
hasChanges = true
return
}