diff options
author | alexvru <alexvru@ydb.tech> | 2023-01-26 21:00:57 +0300 |
---|---|---|
committer | alexvru <alexvru@ydb.tech> | 2023-01-26 21:00:57 +0300 |
commit | 2bd6cee3d1af049b40d3d21028ab9c10deb22f8c (patch) | |
tree | dd86dc1e385cc086efe1e84dfe9c987f6c7166c6 | |
parent | 0996e5e1336dceacb4b56248a3ef421cec64ff4b (diff) | |
download | ydb-2bd6cee3d1af049b40d3d21028ab9c10deb22f8c.tar.gz |
Fix assimilation barrier issue
-rw-r--r-- | ydb/core/blobstorage/ut_blobstorage/assimilation.cpp | 2 | ||||
-rw-r--r-- | ydb/core/blobstorage/vdisk/query/assimilation.cpp | 14 |
2 files changed, 7 insertions, 9 deletions
diff --git a/ydb/core/blobstorage/ut_blobstorage/assimilation.cpp b/ydb/core/blobstorage/ut_blobstorage/assimilation.cpp index c2514d3d665..2c4ef621a9e 100644 --- a/ydb/core/blobstorage/ut_blobstorage/assimilation.cpp +++ b/ydb/core/blobstorage/ut_blobstorage/assimilation.cpp @@ -4,7 +4,7 @@ Y_UNIT_TEST_SUITE(VDiskAssimilation) { Y_UNIT_TEST(Test) { TEnvironmentSetup env{{ .NodeCount = 8, - .Erasure = TBlobStorageGroupType::Erasure4Plus2Block, + .Erasure = TBlobStorageGroupType::ErasureNone, }}; auto& runtime = env.Runtime; diff --git a/ydb/core/blobstorage/vdisk/query/assimilation.cpp b/ydb/core/blobstorage/vdisk/query/assimilation.cpp index 07ef96c24d3..376cf139e83 100644 --- a/ydb/core/blobstorage/vdisk/query/assimilation.cpp +++ b/ydb/core/blobstorage/vdisk/query/assimilation.cpp @@ -133,15 +133,13 @@ namespace NKikimr { const TMemRecBarrier& memRec = iter; if (next.TabletId != key.TabletId || next.Channel != key.Channel) { break; + } else if (memRec.Ingress.IsQuorum(Snap.HullCtx->IngressCache.Get())) { + auto *value = next.Hard ? pb->MutableHard() : pb->MutableSoft(); + value->SetRecordGeneration(next.Gen); + value->SetPerGenerationCounter(next.GenCounter); + value->SetCollectGeneration(memRec.CollectGen); + value->SetCollectStep(memRec.CollectStep); } - - auto *value = next.Hard ? pb->MutableHard() : pb->MutableSoft(); - value->SetRecordGeneration(next.Gen); - value->SetPerGenerationCounter(next.GenCounter); - // TODO(alexvru): should we obtain quorum here? it looks not, because as the GC command was issued, then - // all the keep flags already have been set, so we can choose the latest issued barrier for the tablet - value->SetCollectGeneration(memRec.CollectGen); - value->SetCollectStep(memRec.CollectStep); } using T = NKikimrBlobStorage::TEvVAssimilateResult::TBarrier; |