fix: close the channel appropriately for dataUsageEntry (#12432)

Bonus: initialize dataScanner routines after server
config has initialized.

fixes #12430
This commit is contained in:
Harshavardhana 2021-06-03 19:18:59 -07:00 committed by GitHub
parent 3109441258
commit c0e79e28b2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 1 deletions

View file

@ -333,6 +333,8 @@ func (fs *FSObjects) NSScanner(ctx context.Context, bf *bloomFilter, updates cha
// The updated cache for the bucket is returned.
// A partially updated bucket may be returned.
func (fs *FSObjects) scanBucket(ctx context.Context, bucket string, cache dataUsageCache) (dataUsageCache, error) {
defer close(cache.Info.updates)
// Get bucket policy
// Check if the current bucket has a configured lifecycle policy
lc, err := globalLifecycleSys.Get(bucket)

View file

@ -531,7 +531,6 @@ func serverMain(ctx *cli.Context) {
}
initBackgroundExpiry(GlobalContext, newObject)
initDataScanner(GlobalContext, newObject)
if err = initServer(GlobalContext, newObject); err != nil {
var cerr config.Err
@ -549,6 +548,8 @@ func serverMain(ctx *cli.Context) {
logger.LogIf(GlobalContext, err)
}
initDataScanner(GlobalContext, newObject)
if globalIsErasure { // to be done after config init
initBackgroundReplication(GlobalContext, newObject)
globalTierJournal, err = initTierDeletionJournal(GlobalContext.Done())