mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2024-01-19 02:48:24 +00:00
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
This commit is contained in:
parent
40ff4eea14
commit
9e45702334
|
@ -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
|
||||||
// curl -X DELETE http://localhost:8888/path/to?recursive=true
|
// 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&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) {
|
func (fs *FilerServer) DeleteHandler(w http.ResponseWriter, r *http.Request) {
|
||||||
|
|
||||||
isRecursive := r.FormValue("recursive") == "true"
|
isRecursive := r.FormValue("recursive") == "true"
|
||||||
ignoreRecursiveError := r.FormValue("ignoreRecursiveError") == "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 {
|
if err != nil {
|
||||||
glog.V(1).Infoln("deleting", r.URL.Path, ":", err.Error())
|
glog.V(1).Infoln("deleting", r.URL.Path, ":", err.Error())
|
||||||
writeJsonError(w, r, http.StatusInternalServerError, err)
|
writeJsonError(w, r, http.StatusInternalServerError, err)
|
||||||
|
|
Loading…
Reference in a new issue