neofs-node icon indicating copy to clipboard operation
neofs-node copied to clipboard

Do not skip shards that are busy

Open carpawell opened this issue 8 months ago • 0 comments

Expected Behavior

Prioritized shards should be blocked until they are free or network timeout is reached. Do not break HRW rules just cause some shard is less loaded.

Current Behavior

Every shard has a number of parallel write operations (ants.Pool), if this number is reached, the next shard is tried, object is placed to a "wrong" (in HRW terms) shard.

Possible Solution

Make every pool in every shard blocking.

Context

On the other hand, this (WithNonblocking) looks not good to me and can be changed. It may be the reason of objects-on-wrong-shards effects and also may lead to an error when all shards are busy (i would prefer to wait for them and fail with deadline). @roman-khimov, @cthulhu-rider

Originally posted by @carpawell in https://github.com/nspcc-dev/neofs-node/issues/2868#issuecomment-2163544260

carpawell avatar Jun 13 '24 14:06 carpawell