[#1413] engine: Remove error counting methods from Shard
All checks were successful
Tests and linters / Run gofumpt (pull_request) Successful in 2m4s
DCO action / DCO (pull_request) Successful in 2m22s
Pre-commit hooks / Pre-commit (pull_request) Successful in 4m10s
Vulncheck / Vulncheck (pull_request) Successful in 4m5s
Build / Build Components (pull_request) Successful in 4m31s
Tests and linters / Staticcheck (pull_request) Successful in 4m21s
Tests and linters / gopls check (pull_request) Successful in 4m43s
Tests and linters / Lint (pull_request) Successful in 4m58s
Tests and linters / Tests (pull_request) Successful in 6m36s
Tests and linters / Tests with -race (pull_request) Successful in 7m41s
All checks were successful
Tests and linters / Run gofumpt (pull_request) Successful in 2m4s
DCO action / DCO (pull_request) Successful in 2m22s
Pre-commit hooks / Pre-commit (pull_request) Successful in 4m10s
Vulncheck / Vulncheck (pull_request) Successful in 4m5s
Build / Build Components (pull_request) Successful in 4m31s
Tests and linters / Staticcheck (pull_request) Successful in 4m21s
Tests and linters / gopls check (pull_request) Successful in 4m43s
Tests and linters / Lint (pull_request) Successful in 4m58s
Tests and linters / Tests (pull_request) Successful in 6m36s
Tests and linters / Tests with -race (pull_request) Successful in 7m41s
All error counting and hangling logic is present on the engine level. Currently, we pass engine metrics with shard ID metric to shard, then export 3 methods to manipulate these metrics. In this commits all methods are removed and error counter is tracked on the engine level exlusively. Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
This commit is contained in:
parent
963faa615a
commit
4dc9a1b300
4 changed files with 4 additions and 25 deletions
|
@ -144,7 +144,7 @@ func (e *StorageEngine) reportShardError(
|
||||||
}
|
}
|
||||||
|
|
||||||
errCount := sh.errorCount.Add(1)
|
errCount := sh.errorCount.Add(1)
|
||||||
sh.Shard.IncErrorCounter()
|
e.metrics.IncErrorCounter(sh.ID().String())
|
||||||
|
|
||||||
sid := sh.ID()
|
sid := sh.ID()
|
||||||
e.log.Warn(msg, append([]zap.Field{
|
e.log.Warn(msg, append([]zap.Field{
|
||||||
|
|
|
@ -217,7 +217,7 @@ func (e *StorageEngine) removeShards(ids ...string) {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
sh.DeleteShardMetrics()
|
e.metrics.DeleteShardMetrics(id)
|
||||||
|
|
||||||
ss = append(ss, sh)
|
ss = append(ss, sh)
|
||||||
delete(e.shards, id)
|
delete(e.shards, id)
|
||||||
|
@ -318,7 +318,7 @@ func (e *StorageEngine) SetShardMode(id *shard.ID, m mode.Mode, resetErrorCounte
|
||||||
if id.String() == shID {
|
if id.String() == shID {
|
||||||
if resetErrorCounter {
|
if resetErrorCounter {
|
||||||
sh.errorCount.Store(0)
|
sh.errorCount.Store(0)
|
||||||
sh.Shard.ClearErrorCounter()
|
e.metrics.ClearErrorCounter(shID)
|
||||||
}
|
}
|
||||||
return sh.SetMode(m)
|
return sh.SetMode(m)
|
||||||
}
|
}
|
||||||
|
@ -422,7 +422,7 @@ func (e *StorageEngine) deleteShards(ids []*shard.ID) ([]hashedShard, error) {
|
||||||
for _, sh := range ss {
|
for _, sh := range ss {
|
||||||
idStr := sh.ID().String()
|
idStr := sh.ID().String()
|
||||||
|
|
||||||
sh.DeleteShardMetrics()
|
e.metrics.DeleteShardMetrics(idStr)
|
||||||
|
|
||||||
delete(e.shards, idStr)
|
delete(e.shards, idStr)
|
||||||
|
|
||||||
|
|
|
@ -24,12 +24,6 @@ type MetricsWriter interface {
|
||||||
SetShardID(id string)
|
SetShardID(id string)
|
||||||
// SetReadonly must set shard mode.
|
// SetReadonly must set shard mode.
|
||||||
SetMode(mode mode.Mode)
|
SetMode(mode mode.Mode)
|
||||||
// IncErrorCounter increment error counter.
|
|
||||||
IncErrorCounter()
|
|
||||||
// ClearErrorCounter clear error counter.
|
|
||||||
ClearErrorCounter()
|
|
||||||
// DeleteShardMetrics deletes shard metrics from registry.
|
|
||||||
DeleteShardMetrics()
|
|
||||||
// SetContainerObjectsCount sets container object count.
|
// SetContainerObjectsCount sets container object count.
|
||||||
SetContainerObjectsCount(cnrID string, objectType string, value uint64)
|
SetContainerObjectsCount(cnrID string, objectType string, value uint64)
|
||||||
// IncContainerObjectsCount increments container object count.
|
// IncContainerObjectsCount increments container object count.
|
||||||
|
@ -57,9 +51,6 @@ func (noopMetrics) AddToPayloadSize(int64) {}
|
||||||
func (noopMetrics) IncObjectCounter(string) {}
|
func (noopMetrics) IncObjectCounter(string) {}
|
||||||
func (noopMetrics) SetShardID(string) {}
|
func (noopMetrics) SetShardID(string) {}
|
||||||
func (noopMetrics) SetMode(mode.Mode) {}
|
func (noopMetrics) SetMode(mode.Mode) {}
|
||||||
func (noopMetrics) IncErrorCounter() {}
|
|
||||||
func (noopMetrics) ClearErrorCounter() {}
|
|
||||||
func (noopMetrics) DeleteShardMetrics() {}
|
|
||||||
func (noopMetrics) SetContainerObjectsCount(string, string, uint64) {}
|
func (noopMetrics) SetContainerObjectsCount(string, string, uint64) {}
|
||||||
func (noopMetrics) IncContainerObjectsCount(string, string) {}
|
func (noopMetrics) IncContainerObjectsCount(string, string) {}
|
||||||
func (noopMetrics) SubContainerObjectsCount(string, string, uint64) {}
|
func (noopMetrics) SubContainerObjectsCount(string, string, uint64) {}
|
||||||
|
|
|
@ -494,18 +494,6 @@ func (s *Shard) setContainerObjectsCount(cnr string, typ string, v uint64) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Shard) IncErrorCounter() {
|
|
||||||
s.cfg.metricsWriter.IncErrorCounter()
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *Shard) ClearErrorCounter() {
|
|
||||||
s.cfg.metricsWriter.ClearErrorCounter()
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *Shard) DeleteShardMetrics() {
|
|
||||||
s.cfg.metricsWriter.DeleteShardMetrics()
|
|
||||||
}
|
|
||||||
|
|
||||||
func (s *Shard) SetEvacuationInProgress(val bool) {
|
func (s *Shard) SetEvacuationInProgress(val bool) {
|
||||||
s.m.Lock()
|
s.m.Lock()
|
||||||
defer s.m.Unlock()
|
defer s.m.Unlock()
|
||||||
|
|
Loading…
Reference in a new issue