[#1284] shard: Resolve funlen linter
All checks were successful
DCO action / DCO (pull_request) Successful in 1m34s
Vulncheck / Vulncheck (pull_request) Successful in 2m0s
Tests and linters / Run gofumpt (pull_request) Successful in 2m14s
Build / Build Components (1.22) (pull_request) Successful in 2m41s
Build / Build Components (1.21) (pull_request) Successful in 2m43s
Pre-commit hooks / Pre-commit (pull_request) Successful in 2m50s
Tests and linters / Tests (1.21) (pull_request) Successful in 2m51s
Tests and linters / Tests (1.22) (pull_request) Successful in 2m51s
Tests and linters / Tests with -race (pull_request) Successful in 2m56s
Tests and linters / Staticcheck (pull_request) Successful in 2m57s
Tests and linters / Lint (pull_request) Successful in 3m27s
Tests and linters / gopls check (pull_request) Successful in 3m56s
All checks were successful
DCO action / DCO (pull_request) Successful in 1m34s
Vulncheck / Vulncheck (pull_request) Successful in 2m0s
Tests and linters / Run gofumpt (pull_request) Successful in 2m14s
Build / Build Components (1.22) (pull_request) Successful in 2m41s
Build / Build Components (1.21) (pull_request) Successful in 2m43s
Pre-commit hooks / Pre-commit (pull_request) Successful in 2m50s
Tests and linters / Tests (1.21) (pull_request) Successful in 2m51s
Tests and linters / Tests (1.22) (pull_request) Successful in 2m51s
Tests and linters / Tests with -race (pull_request) Successful in 2m56s
Tests and linters / Staticcheck (pull_request) Successful in 2m57s
Tests and linters / Lint (pull_request) Successful in 3m27s
Tests and linters / gopls check (pull_request) Successful in 3m56s
Signed-off-by: Dmitrii Stepanov <d.stepanov@yadro.com>
This commit is contained in:
parent
93d63e1632
commit
80ce7c3a00
1 changed files with 39 additions and 32 deletions
|
@ -99,12 +99,50 @@ func (x *metabaseSynchronizer) Init() error {
|
||||||
|
|
||||||
// Init initializes all Shard's components.
|
// Init initializes all Shard's components.
|
||||||
func (s *Shard) Init(ctx context.Context) error {
|
func (s *Shard) Init(ctx context.Context) error {
|
||||||
|
m := s.GetMode()
|
||||||
|
if err := s.initializeComponents(m); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
s.updateMetrics(ctx)
|
||||||
|
|
||||||
|
s.gc = &gc{
|
||||||
|
gcCfg: &s.gcCfg,
|
||||||
|
remover: s.removeGarbage,
|
||||||
|
stopChannel: make(chan struct{}),
|
||||||
|
eventChan: make(chan Event),
|
||||||
|
mEventHandler: map[eventType]*eventHandlers{
|
||||||
|
eventNewEpoch: {
|
||||||
|
cancelFunc: func() {},
|
||||||
|
handlers: []eventHandler{
|
||||||
|
s.collectExpiredLocks,
|
||||||
|
s.collectExpiredObjects,
|
||||||
|
s.collectExpiredTombstones,
|
||||||
|
s.collectExpiredMetrics,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
if s.gc.metrics != nil {
|
||||||
|
s.gc.metrics.SetShardID(s.info.ID.String())
|
||||||
|
}
|
||||||
|
|
||||||
|
s.gc.init(ctx)
|
||||||
|
|
||||||
|
s.rb = newRebuilder(s.rebuildLimiter)
|
||||||
|
if !m.NoMetabase() {
|
||||||
|
s.rb.Start(ctx, s.blobStor, s.metaBase, s.log)
|
||||||
|
}
|
||||||
|
s.writecacheSealCancel.Store(dummyCancel)
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *Shard) initializeComponents(m mode.Mode) error {
|
||||||
type initializer interface {
|
type initializer interface {
|
||||||
Init() error
|
Init() error
|
||||||
}
|
}
|
||||||
|
|
||||||
var components []initializer
|
var components []initializer
|
||||||
m := s.GetMode()
|
|
||||||
|
|
||||||
if !m.NoMetabase() {
|
if !m.NoMetabase() {
|
||||||
var initMetabase initializer
|
var initMetabase initializer
|
||||||
|
@ -148,37 +186,6 @@ func (s *Shard) Init(ctx context.Context) error {
|
||||||
return fmt.Errorf("could not initialize %T: %w", component, err)
|
return fmt.Errorf("could not initialize %T: %w", component, err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
s.updateMetrics(ctx)
|
|
||||||
|
|
||||||
s.gc = &gc{
|
|
||||||
gcCfg: &s.gcCfg,
|
|
||||||
remover: s.removeGarbage,
|
|
||||||
stopChannel: make(chan struct{}),
|
|
||||||
eventChan: make(chan Event),
|
|
||||||
mEventHandler: map[eventType]*eventHandlers{
|
|
||||||
eventNewEpoch: {
|
|
||||||
cancelFunc: func() {},
|
|
||||||
handlers: []eventHandler{
|
|
||||||
s.collectExpiredLocks,
|
|
||||||
s.collectExpiredObjects,
|
|
||||||
s.collectExpiredTombstones,
|
|
||||||
s.collectExpiredMetrics,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
if s.gc.metrics != nil {
|
|
||||||
s.gc.metrics.SetShardID(s.info.ID.String())
|
|
||||||
}
|
|
||||||
|
|
||||||
s.gc.init(ctx)
|
|
||||||
|
|
||||||
s.rb = newRebuilder(s.rebuildLimiter)
|
|
||||||
if !m.NoMetabase() {
|
|
||||||
s.rb.Start(ctx, s.blobStor, s.metaBase, s.log)
|
|
||||||
}
|
|
||||||
s.writecacheSealCancel.Store(dummyCancel)
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue