aboutsummaryrefslogtreecommitdiff
path: root/weed/shell/command_s3_bucket_delete.go
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2021-07-23 11:25:43 -0700
committerChris Lu <chris.lu@gmail.com>2021-07-23 11:25:46 -0700
commit092932af8f9a72fd8eaecba278b8085fe34748c5 (patch)
tree9d56b6c9aebb431301042ee6d9c811881e17504d /weed/shell/command_s3_bucket_delete.go
parentbdb632fa62bf8d198a672e3a2bc88ffeb4e2e5ba (diff)
downloadseaweedfs-092932af8f9a72fd8eaecba278b8085fe34748c5.tar.xz
seaweedfs-092932af8f9a72fd8eaecba278b8085fe34748c5.zip
shell: faster bucket delete
avoid waiting for large object metadata
Diffstat (limited to 'weed/shell/command_s3_bucket_delete.go')
-rw-r--r--weed/shell/command_s3_bucket_delete.go13
1 files changed, 13 insertions, 0 deletions
diff --git a/weed/shell/command_s3_bucket_delete.go b/weed/shell/command_s3_bucket_delete.go
index a8d8c5c29..26953c249 100644
--- a/weed/shell/command_s3_bucket_delete.go
+++ b/weed/shell/command_s3_bucket_delete.go
@@ -1,8 +1,10 @@
package shell
import (
+ "context"
"flag"
"fmt"
+ "github.com/chrislusf/seaweedfs/weed/pb/master_pb"
"io"
"github.com/chrislusf/seaweedfs/weed/pb/filer_pb"
@@ -49,6 +51,17 @@ func (c *commandS3BucketDelete) Do(args []string, commandEnv *CommandEnv, writer
return fmt.Errorf("read buckets: %v", err)
}
+ // delete the collection directly first
+ err = commandEnv.MasterClient.WithClient(func(client master_pb.SeaweedClient) error {
+ _, err = client.CollectionDelete(context.Background(), &master_pb.CollectionDeleteRequest{
+ Name: *bucketName,
+ })
+ return err
+ })
+ if err != nil {
+ return
+ }
+
return filer_pb.Remove(commandEnv, filerBucketsPath, *bucketName, false, true, true, false, nil)
}