Clean up targets properly on bucket deletion (#12565)

This commit is contained in:
Poorna Krishnamoorthy
2021-06-24 08:39:58 -07:00
committed by GitHub
parent d40268d899
commit ba6e9682e5
3 changed files with 16 additions and 0 deletions

View File

@@ -84,6 +84,20 @@ func (sys *BucketTargetSys) ListBucketTargets(ctx context.Context, bucket string
return nil, BucketRemoteTargetNotFound{Bucket: bucket}
}
// Delete clears targets present for a bucket
func (sys *BucketTargetSys) Delete(bucket string) {
sys.Lock()
defer sys.Unlock()
tgts, ok := sys.targetsMap[bucket]
if !ok {
return
}
for _, t := range tgts {
delete(sys.arnRemotesMap, t.Arn)
}
delete(sys.targetsMap, bucket)
}
// SetTarget - sets a new minio-go client target for this bucket.
func (sys *BucketTargetSys) SetTarget(ctx context.Context, bucket string, tgt *madmin.BucketTarget, update bool) error {
if globalIsGateway {