[#472] blobstor: implement write-cache

Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
This commit is contained in:
Evgenii Stratonikov 2021-04-06 13:56:06 +03:00 committed by Alex Vanin
parent 96a8ee7c83
commit 59de521fd1
24 changed files with 1011 additions and 116 deletions

View file

@ -9,24 +9,19 @@ import (
)
func TestShard_Delete(t *testing.T) {
sh := newShard(t, false)
shWC := newShard(t, true)
defer func() {
releaseShard(sh, t)
releaseShard(shWC, t)
}()
t.Run("without write cache", func(t *testing.T) {
testShardDelete(t, sh)
testShardDelete(t, false)
})
t.Run("with write cache", func(t *testing.T) {
testShardDelete(t, shWC)
testShardDelete(t, true)
})
}
func testShardDelete(t *testing.T, sh *shard.Shard) {
func testShardDelete(t *testing.T, hasWriteCache bool) {
sh := newShard(t, hasWriteCache)
defer releaseShard(sh, t)
cid := generateCID()
obj := generateRawObjectWithCID(t, cid)
@ -47,7 +42,7 @@ func testShardDelete(t *testing.T, sh *shard.Shard) {
_, err := sh.Put(putPrm)
require.NoError(t, err)
_, err = sh.Get(getPrm)
_, err = testGet(t, sh, getPrm, hasWriteCache)
require.NoError(t, err)
_, err = sh.Delete(delPrm)