forked from TrueCloudLab/frostfs-node
[#1143] shard: Introduce explicit Degraded
mode
`Degraded` mode is set automatically after error counter is over the threshold. `ReadOnly` mode can still be set by an administrator. Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
This commit is contained in:
parent
9eb70c18c3
commit
6472a170eb
21 changed files with 62 additions and 24 deletions
|
@ -14,6 +14,9 @@ const (
|
|||
|
||||
// ModeReadOnly is a mode in which write-cache doesn't flush anything to a metabase.
|
||||
ModeReadOnly
|
||||
|
||||
// ModeDegraded is similar to a shard's degraded mode.
|
||||
ModeDegraded
|
||||
)
|
||||
|
||||
// ErrReadOnly is returned when Put/Write is performed in a read-only mode.
|
||||
|
@ -50,3 +53,9 @@ func (c *cache) SetMode(m Mode) {
|
|||
time.Sleep(time.Second)
|
||||
}
|
||||
}
|
||||
|
||||
// readOnly returns true if current mode is read-only.
|
||||
// `c.modeMtx` must be taken.
|
||||
func (c *cache) readOnly() bool {
|
||||
return c.mode != ModeReadWrite
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue