Skip to content

Commit f01a94b

Browse files
authored
YQ-3899 Check peers size (#20339)
1 parent 82d780f commit f01a94b

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

ydb/core/fq/libs/actors/nodes_manager.cpp

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ class TNodesManagerActor : public NActors::TActorBootstrapped<TNodesManagerActor
100100
error.SetStatusCode(NYql::NDqProto::StatusIds::BAD_REQUEST);
101101
error.SetMessage("Incorrect request - 0 nodes requested");
102102
} else if (!scheduler) {
103-
ScheduleUniformly(request, response);
103+
ScheduleUniformly(request, response);
104104
} else {
105105
try {
106106
auto schedulerSettings = NSc::TValue::FromJsonThrow(scheduler);
@@ -217,8 +217,13 @@ class TNodesManagerActor : public NActors::TActorBootstrapped<TNodesManagerActor
217217

218218
TVector<TPeer> nodes;
219219
for (ui32 i = 0; i < count; ++i) {
220-
Y_ABORT_UNLESS(NextPeer < Peers.size(), "NextPeer %" PRIu32 ", Peers size %" PRIu32, (ui32)NextPeer, (ui32)Peers.size());
221-
nodes.push_back(Peers[SingleNodeScheduler.NodeOrder[NextPeer]]);
220+
if (!Peers.empty()) {
221+
Y_ABORT_UNLESS(NextPeer < Peers.size(), "NextPeer %" PRIu32 ", Peers size %" PRIu32, (ui32)NextPeer, (ui32)Peers.size());
222+
nodes.push_back(Peers[SingleNodeScheduler.NodeOrder[NextPeer]]);
223+
} else {
224+
TPeer node = {SelfId().NodeId(), InstanceId + "," + HostName(), 0, 0, 0, DataCenter};
225+
nodes.push_back(node);
226+
}
222227
}
223228
if (++NextPeer >= Peers.size()) {
224229
NextPeer = 0;

0 commit comments

Comments
 (0)