Skip to content

Commit 268f99f

Browse files
Backport new Hive API from 25-3; Handle TEvDrainNodeAck from Hive (#4858)
In 25-3 the Hive responds with TEvHive::TEvDrainNodeAck after receiving drain task. Added it to ignore list to no trigger the UnexpectedEvent alert. PRs to YDB: ydb-platform/ydb#31764 ydb-platform/ydb#31765 ydb-platform/ydb#31772 ydb-platform/ydb#31773
1 parent 72518d1 commit 268f99f

File tree

3 files changed

+18
-4
lines changed

3 files changed

+18
-4
lines changed

cloud/storage/core/libs/hive_proxy/hive_proxy_actor_drain.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ class TDrainNodeRequestActor final
4646
const TActorContext& ctx);
4747

4848
void HandleDrainNodeResult(
49-
const NKikimr::TEvHive::TEvDrainNodeResult::TPtr& ev,
49+
const TEvHive::TEvDrainNodeResult::TPtr& ev,
5050
const TActorContext& ctx);
5151

5252
STFUNC(StateWork);
@@ -57,7 +57,7 @@ class TDrainNodeRequestActor final
5757
void TDrainNodeRequestActor::Bootstrap(const TActorContext& ctx)
5858
{
5959

60-
auto ev = std::make_unique<NKikimr::TEvHive::TEvDrainNode>(Owner.NodeId());
60+
auto ev = std::make_unique<TEvHive::TEvDrainNode>(Owner.NodeId());
6161
ev->Record.SetKeepDown(KeepDown);
6262
NKikimr::NTabletPipe::SendData(
6363
ctx,
@@ -90,7 +90,7 @@ void TDrainNodeRequestActor::HandleChangeTabletClient(
9090
}
9191

9292
void TDrainNodeRequestActor::HandleDrainNodeResult(
93-
const NKikimr::TEvHive::TEvDrainNodeResult::TPtr& ev,
93+
const TEvHive::TEvDrainNodeResult::TPtr& ev,
9494
const TActorContext& ctx)
9595
{
9696
NProto::TError error;
@@ -110,7 +110,8 @@ STFUNC(TDrainNodeRequestActor::StateWork)
110110
{
111111
switch (ev->GetTypeRewrite()) {
112112
HFunc(TEvHiveProxyPrivate::TEvChangeTabletClient, HandleChangeTabletClient);
113-
HFunc(NKikimr::TEvHive::TEvDrainNodeResult, HandleDrainNodeResult);
113+
HFunc(TEvHive::TEvDrainNodeResult, HandleDrainNodeResult);
114+
IgnoreFunc(TEvHive::TEvDrainNodeAck);
114115

115116
default:
116117
HandleUnexpectedEvent(ev, LogComponent, __PRETTY_FUNCTION__);

cloud/storage/core/libs/hive_proxy/hive_proxy_ut.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -368,6 +368,8 @@ class THiveMock final
368368
const TEvHive::TEvDrainNode::TPtr& ev,
369369
const TActorContext& ctx)
370370
{
371+
ctx.Send(ev->Sender, new TEvHive::TEvDrainNodeAck());
372+
371373
const auto& msg = ev->Get();
372374

373375
NKikimrProto::EReplyStatus replyStatus = NKikimrProto::OK;

contrib/ydb/core/base/hive.h

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,12 @@ namespace NKikimr {
8282
EvReassignOnDecommitGroupReply,
8383
EvUpdateTabletsObjectReply,
8484
EvUpdateDomainReply,
85+
EvResponseTabletDistribution,
86+
EvResponseScaleRecommendation,
87+
EvConfigureScaleRecommenderReply,
88+
EvDrainNodeAck,
89+
EvResponseDrainInfo,
90+
EvSetDownReply,
8591

8692
EvEnd
8793
};
@@ -868,6 +874,11 @@ namespace NKikimr {
868874
struct TEvUpdateDomain : TEventPB<TEvUpdateDomain, NKikimrHive::TEvUpdateDomain, EvUpdateDomain> {};
869875

870876
struct TEvUpdateDomainReply : TEventPB<TEvUpdateDomainReply, NKikimrHive::TEvUpdateDomainReply, EvUpdateDomainReply> {};
877+
878+
struct TEvDrainNodeAck: TEventLocal<TEvDrainNodeAck, EvDrainNodeAck>
879+
{
880+
TEvDrainNodeAck() = default;
881+
};
871882
};
872883

873884
IActor* CreateDefaultHive(const TActorId &tablet, TTabletStorageInfo *info);

0 commit comments

Comments
 (0)