@@ -462,9 +462,7 @@ class TVDiskBackpressureClientActor : public TActorBootstrapped<TVDiskBackpressu
462
462
QLOG_NOTICE_S (" BSQ96" , " connection lost status# " << NKikimrProto::EReplyStatus_Name (status)
463
463
<< " errorReason# " << errorReason << " timeout# " << timeout);
464
464
ctx.Send (BlobStorageProxy, new TEvProxyQueueState (VDiskId, QueueId, false , false , nullptr ));
465
- Queue.DrainQueue (status, TStringBuilder () << " BS_QUEUE: " << errorReason, ctx);
466
- DrainStatus (status, ctx);
467
- DrainAssimilate (status, errorReason, ctx);
465
+ Drain (ctx, status, errorReason);
468
466
break ;
469
467
}
470
468
State = EState::INITIAL;
@@ -476,6 +474,12 @@ class TVDiskBackpressureClientActor : public TActorBootstrapped<TVDiskBackpressu
476
474
}
477
475
}
478
476
477
+ void Drain (const TActorContext& ctx, NKikimrProto::EReplyStatus status, const TString& errorReason) {
478
+ Queue.DrainQueue (status, TStringBuilder () << " BS_QUEUE: " << errorReason, ctx);
479
+ DrainStatus (status, ctx);
480
+ DrainAssimilate (status, errorReason, ctx);
481
+ }
482
+
479
483
void HandleConnected (TEvInterconnect::TEvNodeConnected::TPtr ev, const TActorContext& ctx) {
480
484
if (ev->Get ()->NodeId == RemoteVDisk.NodeId ()) {
481
485
Y_ABORT_UNLESS (!SessionId || SessionId == ev->Sender , " SessionId# %s Sender# %s" , SessionId.ToString ().data (),
@@ -789,6 +793,7 @@ class TVDiskBackpressureClientActor : public TActorBootstrapped<TVDiskBackpressu
789
793
RegisterActorInUniversalScheduler (SelfId (), nullptr , ctx.ExecutorThread .ActorSystem );
790
794
}
791
795
Unsubscribe (RemoteVDisk.NodeId (), ctx);
796
+ Drain (ctx, NKikimrProto::ERROR, " BS_QUEUE terminated" );
792
797
return TActor::Die (ctx);
793
798
}
794
799
0 commit comments