@@ -589,14 +589,24 @@ class TKqpExecuterBase : public TActorBootstrapped<TDerived> {
589
589
auto reason = ev->Get ()->Reason ;
590
590
switch (eventType) {
591
591
case TEvKqpNode::TEvStartKqpTasksRequest::EventType: {
592
- if (reason == TEvents::TEvUndelivered::EReason::ReasonActorUnknown) {
593
- LOG_D (" Schedule a retry by ActorUnknown reason, nodeId:" << ev->Sender .NodeId () << " requestId: " << ev->Cookie );
594
- this ->Schedule (TDuration::MilliSeconds (Planner->GetCurrentRetryDelay (ev->Cookie )), new typename TEvPrivate::TEvRetry (ev->Cookie , ev->Sender ));
595
- return ;
592
+ switch (reason) {
593
+ case TEvents::TEvUndelivered::EReason::ReasonActorUnknown: {
594
+ LOG_D (" Schedule a retry by ActorUnknown reason, nodeId:" << ev->Sender .NodeId () << " requestId: " << ev->Cookie );
595
+ this ->Schedule (TDuration::MilliSeconds (Planner->GetCurrentRetryDelay (ev->Cookie )), new typename TEvPrivate::TEvRetry (ev->Cookie , ev->Sender ));
596
+ return ;
597
+ }
598
+ case TEvents::TEvUndelivered::EReason::Disconnected: {
599
+ InvalidateNode (ev->Sender .NodeId ());
600
+ ReplyUnavailable (TStringBuilder ()
601
+ << " Failed to send EvStartKqpTasksRequest because node is unavailable: " << ev->Sender .NodeId ());
602
+ return ;
603
+ }
604
+ case TEvents::TEvUndelivered::EReason::ReasonUnknown: {
605
+ InvalidateNode (ev->Sender .NodeId ());
606
+ InternalError (TStringBuilder () << " TEvKqpNode::TEvStartKqpTasksRequest lost: " << reason);
607
+ return ;
608
+ }
596
609
}
597
- InvalidateNode (ev->Sender .NodeId ());
598
- return InternalError (TStringBuilder ()
599
- << " TEvKqpNode::TEvStartKqpTasksRequest lost: " << reason);
600
610
}
601
611
default : {
602
612
LOG_E (" Event lost, type: " << eventType << " , reason: " << reason);
0 commit comments