[#922] storage engine: Prevent any operations after first Close call

Make `BlockExecution` / `ResumeExecution` to not release per-shard worker
pools. Make `StorageEngine.Close` to block these methods and any
data-related operations. It is still releases the pools.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
This commit is contained in:
Leonard Lyubich 2021-11-11 16:58:07 +03:00 committed by Alex Vanin
parent d6457ee485
commit 6c0b29e3e3
4 changed files with 73 additions and 9 deletions

View file

@ -34,7 +34,7 @@ func TestStorageEngine_Inhume(t *testing.T) {
link.SetSplitID(splitID)
t.Run("delete small object", func(t *testing.T) {
e := testNewEngineWithShards(testNewShard(t, 1))
e := testNewEngineWithShardNum(t, 1)
defer e.Close()
err := Put(e, parent.Object())