aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchrislu <chris.lu@gmail.com>2024-07-17 23:13:54 -0700
committerchrislu <chris.lu@gmail.com>2024-07-17 23:14:36 -0700
commita8fa78b892079996ec77568d8156eadb54f4d28a (patch)
tree99b198e637e9cd511f310f22458e5e32cb0c8d2d
parent7a75928e7d99a82ef6386ed594f842638912d9b1 (diff)
downloadseaweedfs-a8fa78b892079996ec77568d8156eadb54f4d28a.tar.xz
seaweedfs-a8fa78b892079996ec77568d8156eadb54f4d28a.zip
refactoring
-rw-r--r--weed/filer/filer_delete_entry.go2
-rw-r--r--weed/filer/filer_deletion.go44
2 files changed, 1 insertions, 45 deletions
diff --git a/weed/filer/filer_delete_entry.go b/weed/filer/filer_delete_entry.go
index dae0b28ef..3fdb84f03 100644
--- a/weed/filer/filer_delete_entry.go
+++ b/weed/filer/filer_delete_entry.go
@@ -50,7 +50,7 @@ func (f *Filer) DeleteEntryMetaAndData(ctx context.Context, p util.FullPath, isR
}
if shouldDeleteChunks && !isDeleteCollection {
- f.DirectDeleteChunks(entry.GetChunks())
+ f.DeleteChunks(p, entry.GetChunks())
}
if isDeleteCollection {
diff --git a/weed/filer/filer_deletion.go b/weed/filer/filer_deletion.go
index 84c5ed4c0..5a40b6ee3 100644
--- a/weed/filer/filer_deletion.go
+++ b/weed/filer/filer_deletion.go
@@ -70,50 +70,6 @@ func (f *Filer) loopProcessingDeletion() {
}
}
-func (f *Filer) doDeleteFileIds(fileIds []string) {
-
- lookupFunc := LookupByMasterClientFn(f.MasterClient)
- DeletionBatchSize := 100000 // roughly 20 bytes cost per file id.
-
- for len(fileIds) > 0 {
- var toDeleteFileIds []string
- if len(fileIds) > DeletionBatchSize {
- toDeleteFileIds = fileIds[:DeletionBatchSize]
- fileIds = fileIds[DeletionBatchSize:]
- } else {
- toDeleteFileIds = fileIds
- fileIds = fileIds[:0]
- }
- deletionCount := len(toDeleteFileIds)
- _, err := operation.DeleteFilesWithLookupVolumeId(f.GrpcDialOption, toDeleteFileIds, lookupFunc)
- if err != nil {
- if !strings.Contains(err.Error(), storage.ErrorDeleted.Error()) {
- glog.V(0).Infof("deleting fileIds len=%d error: %v", deletionCount, err)
- }
- }
- }
-}
-
-func (f *Filer) DirectDeleteChunks(chunks []*filer_pb.FileChunk) {
- var fileIdsToDelete []string
- for _, chunk := range chunks {
- if !chunk.IsChunkManifest {
- fileIdsToDelete = append(fileIdsToDelete, chunk.GetFileIdString())
- continue
- }
- dataChunks, manifestResolveErr := ResolveOneChunkManifest(f.MasterClient.LookupFileId, chunk)
- if manifestResolveErr != nil {
- glog.V(0).Infof("failed to resolve manifest %s: %v", chunk.FileId, manifestResolveErr)
- }
- for _, dChunk := range dataChunks {
- fileIdsToDelete = append(fileIdsToDelete, dChunk.GetFileIdString())
- }
- fileIdsToDelete = append(fileIdsToDelete, chunk.GetFileIdString())
- }
-
- f.doDeleteFileIds(fileIdsToDelete)
-}
-
func (f *Filer) DeleteUncommittedChunks(chunks []*filer_pb.FileChunk) {
f.doDeleteChunks(chunks)
}