forked from TrueCloudLab/frostfs-node
[#2208] engine: Log time-consuming shard operations
Currently the only way to tell whether `evacuate/set-mode` is finished is to set a very big timeout and _hope_ that the operation will finish. In this commit we add INFO logs for such operations which should simplify the life of an administrator. Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
This commit is contained in:
parent
87f0e3ea25
commit
c72576e72f
2 changed files with 11 additions and 0 deletions
|
@ -82,6 +82,8 @@ func (e *StorageEngine) Evacuate(prm EvacuateShardPrm) (EvacuateShardRes, error)
|
||||||
return EvacuateShardRes{}, errMustHaveTwoShards
|
return EvacuateShardRes{}, errMustHaveTwoShards
|
||||||
}
|
}
|
||||||
|
|
||||||
|
e.log.Info("started shards evacuation", zap.Strings("shard_ids", sidList))
|
||||||
|
|
||||||
// We must have all shards, to have correct information about their
|
// We must have all shards, to have correct information about their
|
||||||
// indexes in a sorted slice and set appropriate marks in the metabase.
|
// indexes in a sorted slice and set appropriate marks in the metabase.
|
||||||
// Evacuated shard is skipped during put.
|
// Evacuated shard is skipped during put.
|
||||||
|
@ -185,5 +187,7 @@ mainLoop:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
e.log.Info("finished shards evacuation",
|
||||||
|
zap.Strings("shard_ids", sidList))
|
||||||
return res, nil
|
return res, nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,7 @@ package shard
|
||||||
import (
|
import (
|
||||||
"github.com/TrueCloudLab/frostfs-node/pkg/local_object_storage/shard/mode"
|
"github.com/TrueCloudLab/frostfs-node/pkg/local_object_storage/shard/mode"
|
||||||
"github.com/TrueCloudLab/frostfs-node/pkg/local_object_storage/util/logicerr"
|
"github.com/TrueCloudLab/frostfs-node/pkg/local_object_storage/util/logicerr"
|
||||||
|
"go.uber.org/zap"
|
||||||
)
|
)
|
||||||
|
|
||||||
// ErrReadOnlyMode is returned when it is impossible to apply operation
|
// ErrReadOnlyMode is returned when it is impossible to apply operation
|
||||||
|
@ -24,6 +25,10 @@ func (s *Shard) SetMode(m mode.Mode) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *Shard) setMode(m mode.Mode) error {
|
func (s *Shard) setMode(m mode.Mode) error {
|
||||||
|
s.log.Info("setting shard mode",
|
||||||
|
zap.Stringer("old_mode", s.info.Mode),
|
||||||
|
zap.Stringer("new_mode", m))
|
||||||
|
|
||||||
components := []interface{ SetMode(mode.Mode) error }{
|
components := []interface{ SetMode(mode.Mode) error }{
|
||||||
s.metaBase, s.blobStor,
|
s.metaBase, s.blobStor,
|
||||||
}
|
}
|
||||||
|
@ -61,6 +66,8 @@ func (s *Shard) setMode(m mode.Mode) error {
|
||||||
s.metricsWriter.SetReadonly(s.info.Mode != mode.ReadWrite)
|
s.metricsWriter.SetReadonly(s.info.Mode != mode.ReadWrite)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
s.log.Info("shard mode set successfully",
|
||||||
|
zap.Stringer("mode", s.info.Mode))
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue