diff options
| author | elee <eddy@gfxlabs.io> | 2022-03-18 21:51:16 -0500 |
|---|---|---|
| committer | elee <eddy@gfxlabs.io> | 2022-03-18 21:51:16 -0500 |
| commit | 411c0df3fec3344c3e5538cf56b54c1567162386 (patch) | |
| tree | 9879535202b9610043f4d71552db7c0a682dd347 /weed/filer/arangodb/arangodb_store_bucket.go | |
| parent | 1cea6c73d30ddee95b42335af74701a61c19ec84 (diff) | |
| download | seaweedfs-411c0df3fec3344c3e5538cf56b54c1567162386.tar.xz seaweedfs-411c0df3fec3344c3e5538cf56b54c1567162386.zip | |
switch to multi collection, change readme
Diffstat (limited to 'weed/filer/arangodb/arangodb_store_bucket.go')
| -rw-r--r-- | weed/filer/arangodb/arangodb_store_bucket.go | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/weed/filer/arangodb/arangodb_store_bucket.go b/weed/filer/arangodb/arangodb_store_bucket.go index 907328bda..63d407309 100644 --- a/weed/filer/arangodb/arangodb_store_bucket.go +++ b/weed/filer/arangodb/arangodb_store_bucket.go @@ -2,28 +2,38 @@ package arangodb import ( "context" - "github.com/chrislusf/seaweedfs/weed/filer" "time" + "github.com/arangodb/go-driver" + "github.com/chrislusf/seaweedfs/weed/filer" + "github.com/chrislusf/seaweedfs/weed/glog" ) var _ filer.BucketAware = (*ArangodbStore)(nil) func (store *ArangodbStore) OnBucketCreation(bucket string) { - //nothing needs to be done + timeout, cancel := context.WithTimeout(context.Background(), 10*time.Second) + defer cancel() + // create the collection && add to cache + _, err := store.ensureBucket(timeout, bucket) + if err != nil { + glog.V(0).Infof("bucket create %s : %w", bucket, err) + } } func (store *ArangodbStore) OnBucketDeletion(bucket string) { timeout, cancel := context.WithTimeout(context.Background(), 10*time.Second) defer cancel() - cur, err := store.database.Query(timeout, ` -for d in files -filter d.bucket == @bucket -remove d in files`, map[string]interface{}{"bucket": bucket}) + collection, err := store.ensureBucket(timeout, bucket) if err != nil { - glog.V(0).Infof("bucket delete %s : %v", bucket, err) + glog.V(0).Infof("bucket delete %s : %w", bucket, err) + return + } + err = collection.Remove(timeout) + if err != nil && !driver.IsNotFound(err) { + glog.V(0).Infof("bucket delete %s : %w", bucket, err) + return } - defer cur.Close() } func (store *ArangodbStore) CanDropWholeBucket() bool { return true |
