aboutsummaryrefslogtreecommitdiff
path: root/weed/filer/abstract_sql
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2021-07-22 08:23:20 -0700
committerChris Lu <chris.lu@gmail.com>2021-07-22 08:23:20 -0700
commit182288f8606bde8bfcb31509335a4c33802db254 (patch)
treed0e0c9afca383efee7badfdbb9adc66d295fffcd /weed/filer/abstract_sql
parent84d91f143f59d9b98ea34f9b5a2fa0340ceb31b5 (diff)
downloadseaweedfs-182288f8606bde8bfcb31509335a4c33802db254.tar.xz
seaweedfs-182288f8606bde8bfcb31509335a4c33802db254.zip
filer: fix mysql, postgres batch delete error
Diffstat (limited to 'weed/filer/abstract_sql')
-rw-r--r--weed/filer/abstract_sql/abstract_sql_store.go26
1 files changed, 9 insertions, 17 deletions
diff --git a/weed/filer/abstract_sql/abstract_sql_store.go b/weed/filer/abstract_sql/abstract_sql_store.go
index 26dff7fe7..4bf9b16fa 100644
--- a/weed/filer/abstract_sql/abstract_sql_store.go
+++ b/weed/filer/abstract_sql/abstract_sql_store.go
@@ -10,7 +10,6 @@ import (
"github.com/chrislusf/seaweedfs/weed/util"
"strings"
"sync"
- "time"
)
type SqlGenerator interface {
@@ -262,7 +261,7 @@ func (store *AbstractSqlStore) DeleteEntry(ctx context.Context, fullpath util.Fu
return nil
}
-func (store *AbstractSqlStore) DeleteFolderChildren(ctx context.Context, fullpath util.FullPath, limit int64) error {
+func (store *AbstractSqlStore) DeleteFolderChildren(ctx context.Context, fullpath util.FullPath) error {
db, bucket, shortPath, err := store.getTxOrDB(ctx, fullpath, true)
if err != nil {
@@ -280,22 +279,15 @@ func (store *AbstractSqlStore) DeleteFolderChildren(ctx context.Context, fullpat
}
}
- for {
- glog.V(4).Infof("delete %s SQL %s %d", string(shortPath), store.GetSqlDeleteFolderChildren(bucket), util.HashStringToLong(string(shortPath)))
- res, err := db.ExecContext(ctx, store.GetSqlDeleteFolderChildren(bucket), util.HashStringToLong(string(shortPath)), string(shortPath), limit)
- if err != nil {
- return fmt.Errorf("deleteFolderChildren %s: %s", fullpath, err)
- }
+ glog.V(4).Infof("delete %s SQL %s %d", string(shortPath), store.GetSqlDeleteFolderChildren(bucket), util.HashStringToLong(string(shortPath)))
+ res, err := db.ExecContext(ctx, store.GetSqlDeleteFolderChildren(bucket), util.HashStringToLong(string(shortPath)), string(shortPath))
+ if err != nil {
+ return fmt.Errorf("deleteFolderChildren %s: %s", fullpath, err)
+ }
- rowCount, err := res.RowsAffected()
- if err != nil {
- return fmt.Errorf("deleteFolderChildren %s but no rows affected: %s", fullpath, err)
- }
- if rowCount < limit {
- break
- }
- // to give the Galera Cluster a chance to breath
- time.Sleep(time.Second)
+ _, err = res.RowsAffected()
+ if err != nil {
+ return fmt.Errorf("deleteFolderChildren %s but no rows affected: %s", fullpath, err)
}
return nil
}