diff --git a/cmd/notification.go b/cmd/notification.go index 4bbd966db..aa7014fd9 100644 --- a/cmd/notification.go +++ b/cmd/notification.go @@ -590,7 +590,7 @@ func (sys *NotificationSys) DeleteBucketMetadata(ctx context.Context, bucketName } // Loads notification policies for all buckets into NotificationSys. -func (sys *NotificationSys) load(buckets []BucketInfo, objAPI ObjectLayer) error { +func (sys *NotificationSys) load(buckets []BucketInfo) error { for _, bucket := range buckets { ctx := logger.SetReqInfo(GlobalContext, &logger.ReqInfo{BucketName: bucket.Name}) config, err := globalBucketMetadataSys.GetNotificationConfig(bucket.Name) @@ -632,7 +632,7 @@ func (sys *NotificationSys) Init(ctx context.Context, buckets []BucketInfo, objA } }() - go logger.LogIf(ctx, sys.load(buckets, objAPI)) + go logger.LogIf(ctx, sys.load(buckets)) return nil } diff --git a/cmd/server-main.go b/cmd/server-main.go index a5e381f1c..34637f234 100644 --- a/cmd/server-main.go +++ b/cmd/server-main.go @@ -330,6 +330,11 @@ func initAllSubsystems(ctx context.Context, newObject ObjectLayer) (err error) { logger.LogIf(ctx, fmt.Errorf("Unable to initialize config, some features may be missing %w", err)) } + // Once the config is fully loaded, initialize the new object layer. + globalObjLayerMutex.Lock() + globalObjectAPI = newObject + globalObjLayerMutex.Unlock() + // Initialize IAM store globalIAMSys.InitStore(newObject) @@ -501,11 +506,6 @@ func serverMain(ctx *cli.Context) { } } - // Once the config is fully loaded, initialize the new object layer. - globalObjLayerMutex.Lock() - globalObjectAPI = newObject - globalObjLayerMutex.Unlock() - // Initialize users credentials and policies in background right after config has initialized. go globalIAMSys.Init(GlobalContext, newObject)