forked from TrueCloudLab/frostfs-node
[#1413] engine: Remove error counting methods from Shard
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)
|
||||
sh.Shard.IncErrorCounter()
|
||||
e.metrics.IncErrorCounter(sh.ID().String())
|
||||
|
||||
sid := sh.ID()
|
||||
e.log.Warn(msg, append([]zap.Field{
|
||||
|
|
|
@ -217,7 +217,7 @@ func (e *StorageEngine) removeShards(ids ...string) {
|
|||
continue
|
||||
}
|
||||
|
||||
sh.DeleteShardMetrics()
|
||||
e.metrics.DeleteShardMetrics(id)
|
||||
|
||||
ss = append(ss, sh)
|
||||
delete(e.shards, id)
|
||||
|
@ -318,7 +318,7 @@ func (e *StorageEngine) SetShardMode(id *shard.ID, m mode.Mode, resetErrorCounte
|
|||
if id.String() == shID {
|
||||
if resetErrorCounter {
|
||||
sh.errorCount.Store(0)
|
||||
sh.Shard.ClearErrorCounter()
|
||||
e.metrics.ClearErrorCounter(shID)
|
||||
}
|
||||
return sh.SetMode(m)
|
||||
}
|
||||
|
@ -422,7 +422,7 @@ func (e *StorageEngine) deleteShards(ids []*shard.ID) ([]hashedShard, error) {
|
|||
for _, sh := range ss {
|
||||
idStr := sh.ID().String()
|
||||
|
||||
sh.DeleteShardMetrics()
|
||||
e.metrics.DeleteShardMetrics(idStr)
|
||||
|
||||
delete(e.shards, idStr)
|
||||
|
||||
|
|
|
@ -24,12 +24,6 @@ type MetricsWriter interface {
|
|||
SetShardID(id string)
|
||||
// SetReadonly must set shard 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(cnrID string, objectType string, value uint64)
|
||||
// IncContainerObjectsCount increments container object count.
|
||||
|
@ -57,9 +51,6 @@ func (noopMetrics) AddToPayloadSize(int64) {}
|
|||
func (noopMetrics) IncObjectCounter(string) {}
|
||||
func (noopMetrics) SetShardID(string) {}
|
||||
func (noopMetrics) SetMode(mode.Mode) {}
|
||||
func (noopMetrics) IncErrorCounter() {}
|
||||
func (noopMetrics) ClearErrorCounter() {}
|
||||
func (noopMetrics) DeleteShardMetrics() {}
|
||||
func (noopMetrics) SetContainerObjectsCount(string, string, uint64) {}
|
||||
func (noopMetrics) IncContainerObjectsCount(string, string) {}
|
||||
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) {
|
||||
s.m.Lock()
|
||||
defer s.m.Unlock()
|
||||
|
|
Loading…
Reference in a new issue