Need to clarify relation between shard modes and their component modes #1076
Labels
No labels
P0
P1
P2
P3
badger
frostfs-adm
frostfs-cli
frostfs-ir
frostfs-lens
frostfs-node
good first issue
triage
Infrastructure
blocked
bug
config
discussion
documentation
duplicate
enhancement
go
help wanted
internal
invalid
kludge
observability
perfomance
question
refactoring
wontfix
No project
No assignees
4 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: TrueCloudLab/frostfs-node#1076
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Is your feature request related to a problem? Please describe.
Now not all times understandable relations between shard mode and thier componetnt mode in metrics.
As example when we turn the shard to
degraded-read-only
moreblobstore
andblobovnicza_tree
have a differentread-only
modeDescribe the solution you'd like
Need to clarify relation between sharad modes and their component modes.
As example we need a relations table
blobovnicza tree is one level below blobstor (so it really has no notion of mode internally, just readonly flag)
Everything should be understandable, so at least documentation is required.
By suggestion from @dstepanov-yadro we may set modes to read-write/read-only/closed for everything, while the "degraded-*" ones are used only on the shard level.
Need to clarify relation between sharad modes and their component modesto Need to clarify relation between shard modes and their component modesI think having a different set of modes for components is ok.
So for shard we retain current set of modes.
For components we should have READ_WRITE, READ_ONLY, CLOSED.
Whether DEGRADED* modes should be present inside the code (
mode
field) is to be discussed -- currently shard just passes the mode through and each component knows what to do. It may be better to have a restricted set of modes for components too (though and error may be misleading -- "metabase is closed" without indication of degraded shard mode).Thoughts? @TrueCloudLab/storage-core-committers @TrueCloudLab/storage-core-developers
My suggestion is still
set modes to read-write/read-only/closed for everything, while the "degraded-*" ones are used only on the shard level.
I don't understand what does it mean "degraded-read-only
for metabase".As a solution, I propose dividing Mode into two distinct types:
StorageMode
andShardMode
.StorageMode
should be limited to the valuesREAD-WRITE
,READ
.ShardMode
would encompass all the values ofStorageMode
and also includeDEGRADED_READ_ONLY
andDEGRADED_READ
. The handling ofDEGRADED
should be managed at the shard level.CLOSED
akaDISABLED
?encompass
, does this mean they will be binary compatible (i.e. I can mask shard mode with0x3
to get storage mode)?