File tree Expand file tree Collapse file tree 2 files changed +7
-2
lines changed
ydb/core/blobstorage/nodewarden Expand file tree Collapse file tree 2 files changed +7
-2
lines changed Original file line number Diff line number Diff line change @@ -227,6 +227,7 @@ namespace NKikimr::NStorage {
227
227
// pending event queue
228
228
std::deque<TAutoPtr<IEventHandle>> PendingEvents;
229
229
std::vector<ui32> NodeIds;
230
+ THashSet<ui32> NodeIdsSet;
230
231
TNodeIdentifier SelfNode;
231
232
232
233
// scatter tasks
Original file line number Diff line number Diff line change @@ -58,6 +58,7 @@ namespace NKikimr::NStorage {
58
58
// issue updates
59
59
NodeIds = std::move (nodeIds);
60
60
BindQueue.Update (NodeIds);
61
+ NodeIdsSet = {NodeIds.begin (), NodeIds.end ()};
61
62
}
62
63
63
64
void TDistributedConfigKeeper::IssueNextBindRequest () {
@@ -323,7 +324,8 @@ namespace NKikimr::NStorage {
323
324
const auto [it, inserted] = AllBoundNodes.try_emplace (std::move (nodeId));
324
325
TIndirectBoundNode& node = it->second ;
325
326
326
- if (inserted) { // disable this node from target binding set, this is the first mention of this node
327
+ if (inserted && NodeIdsSet.contains (it->first .NodeId ())) {
328
+ // disable this node from target binding set, this is the first mention of this node
327
329
BindQueue.Disable (it->first .NodeId ());
328
330
}
329
331
@@ -363,7 +365,9 @@ namespace NKikimr::NStorage {
363
365
364
366
if (node.Refs .empty ()) {
365
367
AllBoundNodes.erase (it);
366
- BindQueue.Enable (nodeId.NodeId ());
368
+ if (NodeIdsSet.contains (nodeId.NodeId ())) {
369
+ BindQueue.Enable (nodeId.NodeId ());
370
+ }
367
371
if (msg) {
368
372
nodeId.Serialize (msg->Record .AddDeletedBoundNodeIds ());
369
373
}
You can’t perform that action at this time.
0 commit comments