mirror of
https://github.com/minio/minio.git
synced 2024-12-24 22:25:54 -05:00
initialize subsystems that are not dependent on buckets first (#16559)
This commit is contained in:
parent
095b518802
commit
747d475e76
@ -668,50 +668,35 @@ func serverMain(ctx *cli.Context) {
|
|||||||
|
|
||||||
// Background all other operations such as initializing bucket metadata etc.
|
// Background all other operations such as initializing bucket metadata etc.
|
||||||
go func() {
|
go func() {
|
||||||
// Initialize transition tier configuration manager
|
// Initialize data scanner.
|
||||||
|
initDataScanner(GlobalContext, newObject)
|
||||||
|
|
||||||
|
// Initialize background replication
|
||||||
initBackgroundReplication(GlobalContext, newObject)
|
initBackgroundReplication(GlobalContext, newObject)
|
||||||
|
|
||||||
|
// Initialize background transition
|
||||||
initBackgroundTransition(GlobalContext, newObject)
|
initBackgroundTransition(GlobalContext, newObject)
|
||||||
|
|
||||||
|
// Initialize batch job pool.
|
||||||
globalBatchJobPool = newBatchJobPool(GlobalContext, newObject, 100)
|
globalBatchJobPool = newBatchJobPool(GlobalContext, newObject, 100)
|
||||||
|
|
||||||
|
// Initialize the license update job
|
||||||
|
initLicenseUpdateJob(GlobalContext, newObject)
|
||||||
|
|
||||||
go func() {
|
go func() {
|
||||||
|
// Initialize transition tier configuration manager
|
||||||
err := globalTierConfigMgr.Init(GlobalContext, newObject)
|
err := globalTierConfigMgr.Init(GlobalContext, newObject)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.LogIf(GlobalContext, err)
|
logger.LogIf(GlobalContext, err)
|
||||||
}
|
} else {
|
||||||
|
globalTierJournal, err = initTierDeletionJournal(GlobalContext)
|
||||||
globalTierJournal, err = initTierDeletionJournal(GlobalContext)
|
if err != nil {
|
||||||
if err != nil {
|
logger.FatalIf(err, "Unable to initialize remote tier pending deletes journal")
|
||||||
logger.FatalIf(err, "Unable to initialize remote tier pending deletes journal")
|
}
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
|
|
||||||
// Initialize quota manager.
|
// Initialize bucket notification system first before loading bucket metadata.
|
||||||
globalBucketQuotaSys.Init(newObject)
|
|
||||||
|
|
||||||
initDataScanner(GlobalContext, newObject)
|
|
||||||
|
|
||||||
// List buckets to heal, and be re-used for loading configs.
|
|
||||||
buckets, err := newObject.ListBuckets(GlobalContext, BucketOptions{})
|
|
||||||
if err != nil {
|
|
||||||
logger.LogIf(GlobalContext, fmt.Errorf("Unable to list buckets to heal: %w", err))
|
|
||||||
}
|
|
||||||
// initialize replication resync state.
|
|
||||||
go globalReplicationPool.initResync(GlobalContext, buckets, newObject)
|
|
||||||
|
|
||||||
// Populate existing buckets to the etcd backend
|
|
||||||
if globalDNSConfig != nil {
|
|
||||||
// Background this operation.
|
|
||||||
go initFederatorBackend(buckets, newObject)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Initialize bucket metadata sub-system.
|
|
||||||
globalBucketMetadataSys.Init(GlobalContext, buckets, newObject)
|
|
||||||
|
|
||||||
// Initialize site replication manager.
|
|
||||||
globalSiteReplicationSys.Init(GlobalContext, newObject)
|
|
||||||
|
|
||||||
// Initialize bucket notification system
|
|
||||||
logger.LogIf(GlobalContext, globalEventNotifier.InitBucketTargets(GlobalContext, newObject))
|
logger.LogIf(GlobalContext, globalEventNotifier.InitBucketTargets(GlobalContext, newObject))
|
||||||
|
|
||||||
// initialize the new disk cache objects.
|
// initialize the new disk cache objects.
|
||||||
@ -724,8 +709,28 @@ func serverMain(ctx *cli.Context) {
|
|||||||
setCacheObjectLayer(cacheAPI)
|
setCacheObjectLayer(cacheAPI)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Initialize the license update job
|
// List buckets to heal, and be re-used for loading configs.
|
||||||
initLicenseUpdateJob(GlobalContext, newObject)
|
buckets, err := newObject.ListBuckets(GlobalContext, BucketOptions{})
|
||||||
|
if err != nil {
|
||||||
|
logger.LogIf(GlobalContext, fmt.Errorf("Unable to list buckets to heal: %w", err))
|
||||||
|
}
|
||||||
|
// initialize replication resync state.
|
||||||
|
go globalReplicationPool.initResync(GlobalContext, buckets, newObject)
|
||||||
|
|
||||||
|
// Initialize bucket metadata sub-system.
|
||||||
|
globalBucketMetadataSys.Init(GlobalContext, buckets, newObject)
|
||||||
|
|
||||||
|
// Initialize site replication manager after bucket metadat
|
||||||
|
globalSiteReplicationSys.Init(GlobalContext, newObject)
|
||||||
|
|
||||||
|
// Initialize quota manager.
|
||||||
|
globalBucketQuotaSys.Init(newObject)
|
||||||
|
|
||||||
|
// Populate existing buckets to the etcd backend
|
||||||
|
if globalDNSConfig != nil {
|
||||||
|
// Background this operation.
|
||||||
|
go initFederatorBackend(buckets, newObject)
|
||||||
|
}
|
||||||
|
|
||||||
// Prints the formatted startup message, if err is not nil then it prints additional information as well.
|
// Prints the formatted startup message, if err is not nil then it prints additional information as well.
|
||||||
printStartupMessage(getAPIEndpoints(), err)
|
printStartupMessage(getAPIEndpoints(), err)
|
||||||
|
Loading…
Reference in New Issue
Block a user