diff options
author | alexvru <alexvru@ydb.tech> | 2022-11-22 13:33:52 +0300 |
---|---|---|
committer | alexvru <alexvru@ydb.tech> | 2022-11-22 13:33:52 +0300 |
commit | 3e5907562bf4dae9cf824bd61032a343e2d294fd (patch) | |
tree | edbc00e11378f4b710ed6cc0dbd991014d750457 | |
parent | 1514ef713e782b90e18b6c7bcdeeca36b2e2c2e8 (diff) | |
download | ydb-3e5907562bf4dae9cf824bd61032a343e2d294fd.tar.gz |
Fix replication bugs
-rw-r--r-- | ydb/core/blobstorage/vdisk/repl/blobstorage_hullrepljob.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/ydb/core/blobstorage/vdisk/repl/blobstorage_hullrepljob.cpp b/ydb/core/blobstorage/vdisk/repl/blobstorage_hullrepljob.cpp index 3ffb46a550..875ee9920c 100644 --- a/ydb/core/blobstorage/vdisk/repl/blobstorage_hullrepljob.cpp +++ b/ydb/core/blobstorage/vdisk/repl/blobstorage_hullrepljob.cpp @@ -662,7 +662,11 @@ namespace NKikimr { while (!PhantomChecksPending.empty() && PhantomChecksInFlight.size() < 32) { const ui64 cookie = ++LastPhantomCheckId; - size_t numItems = Min<size_t>(PhantomChecksPending.size(), 32); + size_t numItems = 0; + const ui64 tabletId = std::get<0>(PhantomChecksPending.front()).TabletID(); + for (auto it = PhantomChecksPending.begin(); it != PhantomChecksPending.end() && numItems < 32 && + std::get<0>(*it).TabletID() == tabletId; ++it, ++numItems) {} + TArrayHolder<TEvBlobStorage::TEvGet::TQuery> queries(new TEvBlobStorage::TEvGet::TQuery[numItems]); for (size_t i = 0; i < numItems; ++i) { auto& pending = PhantomChecksPending.front(); |