forked from TrueCloudLab/frostfs-node
[#1996] engine: Always select proper shard for a tree
Currently there is a possibility for modifying operations to fail because of I/O errors and a new tree to be created on another shard. This commit adds existence check for modifying operations. Read operations remain as they are, not to slow things. `TreeDrop` is an exception, because this is a tree removal and trying multiple shards is not an unwanted behaviour. Signed-off-by: Evgenii Stratonikov <evgeniy@morphbits.ru>
This commit is contained in:
parent
08efe6eb11
commit
d8d3588e1b
7 changed files with 128 additions and 38 deletions
|
@ -39,6 +39,9 @@ type Forest interface {
|
|||
// TreeList returns all the tree IDs that have been added to the
|
||||
// passed container ID. Nil slice should be returned if no tree found.
|
||||
TreeList(cid cidSDK.ID) ([]string, error)
|
||||
// TreeExists checks if a tree exists locally.
|
||||
// If the tree is not found, false and a nil error should be returned.
|
||||
TreeExists(cid cidSDK.ID, treeID string) (bool, error)
|
||||
}
|
||||
|
||||
type ForestStorage interface {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue