aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYoni Nakache <45972051+LazyDBA247-Anyvision@users.noreply.github.com>2019-12-11 11:30:19 +0200
committerGitHub <noreply@github.com>2019-12-11 11:30:19 +0200
commit9e45702334cb6b0689eff4c942e7d03c20377c90 (patch)
tree49718e6f165a82326ab2416bb548e5ae7979fd0b
parent40ff4eea14bc03a962c78f14ec4e98b49315bad2 (diff)
downloadseaweedfs-9e45702334cb6b0689eff4c942e7d03c20377c90.tar.xz
seaweedfs-9e45702334cb6b0689eff4c942e7d03c20377c90.zip
Filer: Enable delete entries without flag volume
same as happens on the s3 API on delete bucket, to reduce the IO requests on the system, you can just clear recursively folders without flagging them in volume server (they will be removed on delete bucket/drop collection) this will remove the user ability to retrieve data under these folders
-rw-r--r--weed/server/filer_server_handlers_write.go4
1 files changed, 3 insertions, 1 deletions
diff --git a/weed/server/filer_server_handlers_write.go b/weed/server/filer_server_handlers_write.go
index f94d83347..3f60ea8d4 100644
--- a/weed/server/filer_server_handlers_write.go
+++ b/weed/server/filer_server_handlers_write.go
@@ -280,12 +280,14 @@ func (fs *FilerServer) uploadToVolumeServer(r *http.Request, u *url.URL, auth se
// curl -X DELETE http://localhost:8888/path/to
// curl -X DELETE http://localhost:8888/path/to?recursive=true
// curl -X DELETE http://localhost:8888/path/to?recursive=true&ignoreRecursiveError=true
+// curl -X DELETE http://localhost:8888/path/to?recursive=true&shouldDeleteChunks=false&shouldDeleteChunks=false
func (fs *FilerServer) DeleteHandler(w http.ResponseWriter, r *http.Request) {
isRecursive := r.FormValue("recursive") == "true"
ignoreRecursiveError := r.FormValue("ignoreRecursiveError") == "true"
+ shouldDeleteChunks := !(r.FormValue("shouldDeleteChunks") == "false")
- err := fs.filer.DeleteEntryMetaAndData(context.Background(), filer2.FullPath(r.URL.Path), isRecursive, ignoreRecursiveError, true)
+ err := fs.filer.DeleteEntryMetaAndData(context.Background(), filer2.FullPath(r.URL.Path), isRecursive, ignoreRecursiveError, shouldDeleteChunks)
if err != nil {
glog.V(1).Infoln("deleting", r.URL.Path, ":", err.Error())
writeJsonError(w, r, http.StatusInternalServerError, err)