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
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with
4 additions and
1 deletions
-
weed/filer/arangodb/arangodb_store_bucket.go
-
weed/filer/arangodb/helpers.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 |
|
|
|
@ -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() |
|
|