Browse Source

bug fixed to filer store elastic deleteEntry (#5988)

pull/5990/head
zouyixiong 3 months ago
committed by GitHub
parent
commit
d8e18a8eb7
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 12
      weed/filer/elastic/v7/elastic_store.go

12
weed/filer/elastic/v7/elastic_store.go

@ -159,8 +159,16 @@ func (store *ElasticStore) FindEntry(ctx context.Context, fullpath weed_util.Ful
func (store *ElasticStore) DeleteEntry(ctx context.Context, fullpath weed_util.FullPath) (err error) { func (store *ElasticStore) DeleteEntry(ctx context.Context, fullpath weed_util.FullPath) (err error) {
index := getIndex(fullpath, false) index := getIndex(fullpath, false)
id := weed_util.Md5String([]byte(fullpath)) id := weed_util.Md5String([]byte(fullpath))
if strings.Count(string(fullpath), "/") == 1 {
return store.deleteIndex(ctx, index)
strFullpath := string(fullpath)
// A top-level subdirectory refers to an Elasticsearch index.
// If we delete an entry at the top level, we should attempt to delete the corresponding Elasticsearch index.
if strings.Count(strFullpath, "/") == 1 {
entry, err2 := store.FindEntry(ctx, fullpath)
if err2 == nil && entry.IsDirectory() {
bucketIndex := indexPrefix + strFullpath[1:]
store.deleteIndex(ctx, bucketIndex)
}
} }
return store.deleteEntry(ctx, index, id) return store.deleteEntry(ctx, index, id)
} }

Loading…
Cancel
Save