Browse Source

Fix crash in arangodb filer when attempting to access a deleted bucket (#3587)

* Update helpers.go

* Update arangodb_store_bucket.go
pull/3588/head
gfx 2 years ago
committed by GitHub
parent
commit
bf844d8e46
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 3
      weed/filer/arangodb/arangodb_store_bucket.go
  2. 2
      weed/filer/arangodb/helpers.go

3
weed/filer/arangodb/arangodb_store_bucket.go

@ -34,6 +34,9 @@ func (store *ArangodbStore) OnBucketDeletion(bucket string) {
glog.Errorf("bucket delete %s: %v", bucket, err) glog.Errorf("bucket delete %s: %v", bucket, err)
return return
} }
store.mu.Lock()
delete(store.buckets, bucket)
store.mu.Unlock()
} }
func (store *ArangodbStore) CanDropWholeBucket() bool { func (store *ArangodbStore) CanDropWholeBucket() bool {
return true return true

2
weed/filer/arangodb/helpers.go

@ -86,7 +86,7 @@ func (store *ArangodbStore) ensureBucket(ctx context.Context, bucket string) (bc
store.mu.RLock() store.mu.RLock()
bc, ok = store.buckets[bucket] bc, ok = store.buckets[bucket]
store.mu.RUnlock() store.mu.RUnlock()
if ok {
if ok && bc != nil {
return bc, nil return bc, nil
} }
store.mu.Lock() store.mu.Lock()

Loading…
Cancel
Save