Skip to content

Commit 82e47de

Browse files
authored
25-1: remove TEvLocalSyncData and TEvAnubisOsirisPut from throttling events; raise limits of throttling parameters (#20214)
2 parents 3624119 + a5638f7 commit 82e47de

File tree

6 files changed

+29
-100
lines changed

6 files changed

+29
-100
lines changed

ydb/core/blobstorage/nodewarden/node_warden_impl.cpp

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -35,16 +35,16 @@ TNodeWarden::TNodeWarden(const TIntrusivePtr<TNodeWardenConfig> &cfg)
3535
, HugeDefragFreeSpaceBorderPerMille(260, 1, 1000)
3636
, MaxChunksToDefragInflight(10, 1, 50)
3737
, ThrottlingDryRun(1, 0, 1)
38-
, ThrottlingMinLevel0SstCount(100, 1, 1000)
39-
, ThrottlingMaxLevel0SstCount(250, 1, 1000)
40-
, ThrottlingMinInplacedSizeHDD(20ull << 30, 1 << 20, 500ull << 30)
41-
, ThrottlingMaxInplacedSizeHDD(60ull << 30, 1 << 20, 500ull << 30)
42-
, ThrottlingMinInplacedSizeSSD(20ull << 30, 1 << 20, 500ull << 30)
43-
, ThrottlingMaxInplacedSizeSSD(60ull << 30, 1 << 20, 500ull << 30)
38+
, ThrottlingMinLevel0SstCount(100, 1, 100000)
39+
, ThrottlingMaxLevel0SstCount(250, 1, 100000)
40+
, ThrottlingMinInplacedSizeHDD(20ull << 30, 1 << 20, 500ull << 40)
41+
, ThrottlingMaxInplacedSizeHDD(60ull << 30, 1 << 20, 500ull << 40)
42+
, ThrottlingMinInplacedSizeSSD(20ull << 30, 1 << 20, 500ull << 40)
43+
, ThrottlingMaxInplacedSizeSSD(60ull << 30, 1 << 20, 500ull << 40)
4444
, ThrottlingMinOccupancyPerMille(900, 1, 1000)
4545
, ThrottlingMaxOccupancyPerMille(950, 1, 1000)
46-
, ThrottlingMinLogChunkCount(100, 1, 1000)
47-
, ThrottlingMaxLogChunkCount(130, 1, 1000)
46+
, ThrottlingMinLogChunkCount(100, 1, 100000)
47+
, ThrottlingMaxLogChunkCount(130, 1, 100000)
4848
, MaxInProgressSyncCount(0, 0, 1000)
4949
, MaxCommonLogChunksHDD(200, 1, 1'000'000)
5050
, MaxCommonLogChunksSSD(200, 1, 1'000'000)

ydb/core/blobstorage/vdisk/common/vdisk_mongroups.h

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -123,15 +123,11 @@ public:
123123
COUNTER_INIT_IF_EXTENDED(EmergencyPatchStartQueueItems, false);
124124
COUNTER_INIT_IF_EXTENDED(EmergencyPutQueueItems, false);
125125
COUNTER_INIT_IF_EXTENDED(EmergencyMultiPutQueueItems, false);
126-
COUNTER_INIT_IF_EXTENDED(EmergencyLocalSyncDataQueueItems, false);
127-
COUNTER_INIT_IF_EXTENDED(EmergencyAnubisOsirisPutQueueItems, false);
128126

129127
COUNTER_INIT_IF_EXTENDED(EmergencyMovedPatchQueueBytes, false);
130128
COUNTER_INIT_IF_EXTENDED(EmergencyPatchStartQueueBytes, false);
131129
COUNTER_INIT_IF_EXTENDED(EmergencyPutQueueBytes, false);
132130
COUNTER_INIT_IF_EXTENDED(EmergencyMultiPutQueueBytes, false);
133-
COUNTER_INIT_IF_EXTENDED(EmergencyLocalSyncDataQueueBytes, false);
134-
COUNTER_INIT_IF_EXTENDED(EmergencyAnubisOsirisPutQueueBytes, false);
135131

136132
COUNTER_INIT_IF_EXTENDED(FreshSatisfactionRankPercent, false);
137133
COUNTER_INIT_IF_EXTENDED(LevelSatisfactionRankPercent, false);
@@ -159,15 +155,11 @@ public:
159155
COUNTER_DEF(EmergencyPatchStartQueueItems);
160156
COUNTER_DEF(EmergencyPutQueueItems);
161157
COUNTER_DEF(EmergencyMultiPutQueueItems);
162-
COUNTER_DEF(EmergencyLocalSyncDataQueueItems);
163-
COUNTER_DEF(EmergencyAnubisOsirisPutQueueItems);
164158

165159
COUNTER_DEF(EmergencyMovedPatchQueueBytes);
166160
COUNTER_DEF(EmergencyPatchStartQueueBytes);
167161
COUNTER_DEF(EmergencyPutQueueBytes);
168162
COUNTER_DEF(EmergencyMultiPutQueueBytes);
169-
COUNTER_DEF(EmergencyLocalSyncDataQueueBytes);
170-
COUNTER_DEF(EmergencyAnubisOsirisPutQueueBytes);
171163

172164
COUNTER_DEF(FreshSatisfactionRankPercent);
173165
COUNTER_DEF(LevelSatisfactionRankPercent);

ydb/core/blobstorage/vdisk/skeleton/blobstorage_skeleton.cpp

Lines changed: 9 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1560,13 +1560,6 @@ namespace NKikimr {
15601560
}
15611561

15621562
void Handle(TEvLocalSyncData::TPtr &ev, const TActorContext &ctx) {
1563-
const bool postpone = OverloadHandler->PostponeEvent(ev);
1564-
if (!postpone) {
1565-
PrivateHandle(ev, ctx);
1566-
}
1567-
}
1568-
1569-
void PrivateHandle(TEvLocalSyncData::TPtr &ev, const TActorContext &ctx) {
15701563
TInstant now = TAppData::TimeProvider->Now();
15711564
SyncLogIFaceGroup.LocalSyncMsgs()++;
15721565

@@ -1616,22 +1609,6 @@ namespace NKikimr {
16161609
}
16171610

16181611
void Handle(TEvAnubisOsirisPut::TPtr &ev, const TActorContext &ctx) {
1619-
const bool postpone = OverloadHandler->PostponeEvent(ev);
1620-
if (!postpone) {
1621-
PrivateHandle(ev, ctx);
1622-
}
1623-
}
1624-
1625-
void ReplyError(const NKikimrProto::EReplyStatus status,
1626-
const TString& /*errorReason*/,
1627-
TEvAnubisOsirisPut::TPtr &ev,
1628-
const TActorContext &ctx,
1629-
const TInstant &now) {
1630-
std::unique_ptr<IEventBase> res(new TEvAnubisOsirisPutResult(status, now, IFaceMonGroup->PutResMsgsPtr(), nullptr));
1631-
SendReply(ctx, std::move(res), ev, BS_VDISK_PUT);
1632-
}
1633-
1634-
void PrivateHandle(TEvAnubisOsirisPut::TPtr &ev, const TActorContext &ctx) {
16351612
const auto *msg = ev->Get();
16361613

16371614
// update basic counters
@@ -1667,6 +1644,14 @@ namespace NKikimr {
16671644
ctx.Send(Db->LoggerID, logMsg.release());
16681645
}
16691646

1647+
void ReplyError(const NKikimrProto::EReplyStatus status,
1648+
const TString& /*errorReason*/,
1649+
TEvAnubisOsirisPut::TPtr &ev,
1650+
const TActorContext &ctx,
1651+
const TInstant &now) {
1652+
std::unique_ptr<IEventBase> res(new TEvAnubisOsirisPutResult(status, now, IFaceMonGroup->PutResMsgsPtr(), nullptr));
1653+
SendReply(ctx, std::move(res), ev, BS_VDISK_PUT);
1654+
}
16701655

16711656
////////////////////////////////////////////////////////////////////////
16721657
// TAKE SNAPSHOT SECTOR
@@ -2011,16 +1996,10 @@ namespace NKikimr {
20111996
auto vMultiPutHandler = [this] (const TActorContext &ctx, TEvBlobStorage::TEvVMultiPut::TPtr ev) {
20121997
this->PrivateHandle(ev, ctx);
20131998
};
2014-
auto loc = [this] (const TActorContext &ctx, TEvLocalSyncData::TPtr ev) {
2015-
this->PrivateHandle(ev, ctx);
2016-
};
2017-
auto aoput = [this] (const TActorContext &ctx, TEvAnubisOsirisPut::TPtr ev) {
2018-
this->PrivateHandle(ev, ctx);
2019-
};
20201999
NMonGroup::TSkeletonOverloadGroup overloadMonGroup(VCtx->VDiskCounters, "subsystem", "emergency");
20212000
OverloadHandler = std::make_unique<TOverloadHandler>(Config, VCtx, PDiskCtx, Hull,
20222001
std::move(overloadMonGroup), std::move(vMovedPatch), std::move(vPatchStart), std::move(vput),
2023-
std::move(vMultiPutHandler), std::move(loc), std::move(aoput));
2002+
std::move(vMultiPutHandler));
20242003
ScheduleWakeupEmergencyPutQueue(ctx);
20252004

20262005
// actualize weights before we start

ydb/core/blobstorage/vdisk/skeleton/skeleton_overload_handler.cpp

Lines changed: 3 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -39,25 +39,19 @@ namespace NKikimr {
3939
TVPatchStartHandler VPatchStartHandler;
4040
TVPutHandler VPutHandler;
4141
TVMultiPutHandler VMultiPutHandler;
42-
TLocalSyncDataHandler LocalSyncDataHandler;
43-
TAnubisOsirisPutHandler AnubisOsirisPutHandler;
4442

4543
public:
4644
TEmergencyQueue(
4745
NMonGroup::TSkeletonOverloadGroup &mon,
4846
TVMovedPatchHandler &&vMovedPatch,
4947
TVPatchStartHandler &&vPatchStart,
5048
TVPutHandler &&vput,
51-
TVMultiPutHandler &&vMultiPut,
52-
TLocalSyncDataHandler &&loc,
53-
TAnubisOsirisPutHandler &&aoput)
49+
TVMultiPutHandler &&vMultiPut)
5450
: Mon(mon)
5551
, VMovedPatchHandler(std::move(vMovedPatch))
5652
, VPatchStartHandler(std::move(vPatchStart))
5753
, VPutHandler(std::move(vput))
5854
, VMultiPutHandler(std::move(vMultiPut))
59-
, LocalSyncDataHandler(std::move(loc))
60-
, AnubisOsirisPutHandler(std::move(aoput))
6155
{}
6256

6357
~TEmergencyQueue() {
@@ -94,20 +88,6 @@ namespace NKikimr {
9488
Queue.Push(TItem(ev, size));
9589
}
9690

97-
void Push(TEvLocalSyncData::TPtr ev) {
98-
++Mon.EmergencyLocalSyncDataQueueItems();
99-
auto size = ev->Get()->ByteSize();
100-
Mon.EmergencyLocalSyncDataQueueBytes() += size;
101-
Queue.Push(TItem(ev, size));
102-
}
103-
104-
void Push(TEvAnubisOsirisPut::TPtr ev) {
105-
++Mon.EmergencyAnubisOsirisPutQueueItems();
106-
auto size = ev->Get()->ByteSize();
107-
Mon.EmergencyAnubisOsirisPutQueueBytes() += size;
108-
Queue.Push(TItem(ev, size));
109-
}
110-
11191
bool Empty() {
11292
return !Queue.Head();
11393
}
@@ -153,20 +133,6 @@ namespace NKikimr {
153133
VMultiPutHandler(ctx, *evMultiPut);
154134
break;
155135
}
156-
case TEvBlobStorage::EvLocalSyncData: {
157-
auto *evLocalSyncData = reinterpret_cast<TEvLocalSyncData::TPtr*>(&ev);
158-
--Mon.EmergencyLocalSyncDataQueueItems();
159-
Mon.EmergencyLocalSyncDataQueueBytes() -= size;
160-
LocalSyncDataHandler(ctx,*evLocalSyncData);
161-
break;
162-
}
163-
case TEvBlobStorage::EvAnubisOsirisPut: {
164-
auto *evAnubisOsirisPut = reinterpret_cast<TEvAnubisOsirisPut::TPtr*>(&ev);
165-
--Mon.EmergencyAnubisOsirisPutQueueItems();
166-
Mon.EmergencyAnubisOsirisPutQueueBytes() -= size;
167-
AnubisOsirisPutHandler(ctx, *evAnubisOsirisPut);
168-
break;
169-
}
170136
default:
171137
Y_ABORT("unexpected event type in emergency queue(%" PRIu64 ")", (ui64)ev->GetTypeRewrite());
172138
}
@@ -455,14 +421,12 @@ namespace NKikimr {
455421
TVMovedPatchHandler &&vMovedPatch,
456422
TVPatchStartHandler &&vPatchStart,
457423
TVPutHandler &&vput,
458-
TVMultiPutHandler &&vMultiPut,
459-
TLocalSyncDataHandler &&loc,
460-
TAnubisOsirisPutHandler &&aoput)
424+
TVMultiPutHandler &&vMultiPut)
461425
: VCtx(vctx)
462426
, Hull(std::move(hull))
463427
, Mon(std::move(mon))
464428
, EmergencyQueue(new TEmergencyQueue(Mon, std::move(vMovedPatch), std::move(vPatchStart), std::move(vput),
465-
std::move(vMultiPut), std::move(loc), std::move(aoput)))
429+
std::move(vMultiPut)))
466430
, DynamicPDiskWeightsManager(std::make_shared<TDynamicPDiskWeightsManager>(vctx, pdiskCtx))
467431
, ThrottlingController(new TThrottlingController(vcfg, Mon, pdiskCtx))
468432
{}
@@ -617,7 +581,5 @@ namespace NKikimr {
617581
template bool TOverloadHandler::PostponeEvent(TEvBlobStorage::TEvVPatchStart::TPtr &ev);
618582
template bool TOverloadHandler::PostponeEvent(TEvBlobStorage::TEvVPut::TPtr &ev);
619583
template bool TOverloadHandler::PostponeEvent(TEvBlobStorage::TEvVMultiPut::TPtr &ev);
620-
template bool TOverloadHandler::PostponeEvent(TEvLocalSyncData::TPtr &ev);
621-
template bool TOverloadHandler::PostponeEvent(TEvAnubisOsirisPut::TPtr &ev);
622584

623585
} // NKikimr

ydb/core/blobstorage/vdisk/skeleton/skeleton_overload_handler.h

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,6 @@ namespace NKikimr {
4646
TEvBlobStorage::TEvVPut::TPtr ev)>;
4747
using TVMultiPutHandler = std::function<void(const TActorContext &ctx,
4848
TEvBlobStorage::TEvVMultiPut::TPtr ev)>;
49-
using TLocalSyncDataHandler = std::function<void(const TActorContext &ctx, TEvLocalSyncData::TPtr ev)>;
50-
using TAnubisOsirisPutHandler = std::function<void(const TActorContext &ctx, TEvAnubisOsirisPut::TPtr ev)>;
5149

5250
///////////////////////////////////////////////////////////////////////////////////////////////////
5351
// TOverloadHandler is used to postpone or throttle events if message put rate is too high.
@@ -69,9 +67,7 @@ namespace NKikimr {
6967
TVMovedPatchHandler &&vMovedPatch,
7068
TVPatchStartHandler &&vPatchStart,
7169
TVPutHandler &&vput,
72-
TVMultiPutHandler &&vMultiPut,
73-
TLocalSyncDataHandler &&loc,
74-
TAnubisOsirisPutHandler &&aoput);
70+
TVMultiPutHandler &&vMultiPut);
7571
~TOverloadHandler();
7672

7773
// call it when Hull database is changed (puts, etc) -- it recalculates ranks

ydb/core/protos/config.proto

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1419,32 +1419,32 @@ message TImmediateControlsConfig {
14191419
optional uint64 ThrottlingMinLevel0SstCount = 15 [(ControlOptions) = {
14201420
Description: "Minimum level 0 SST count - throttling is turned on",
14211421
MinValue: 1,
1422-
MaxValue: 1000,
1422+
MaxValue: 100000,
14231423
DefaultValue: 100 }];
14241424
optional uint64 ThrottlingMaxLevel0SstCount = 16 [(ControlOptions) = {
14251425
Description: "Maximum level 0 SST count - throttling speed is zero",
14261426
MinValue: 1,
1427-
MaxValue: 1000,
1427+
MaxValue: 100000,
14281428
DefaultValue: 250 }];
14291429
optional uint64 ThrottlingMinInplacedSizeHDD = 17 [(ControlOptions) = {
14301430
Description: "Minimum size of all inplaced blobs (HDD) - throttling is turned on",
14311431
MinValue: 1048576,
1432-
MaxValue: 536870912000,
1432+
MaxValue: 549755813888000,
14331433
DefaultValue: 21474836480 }];
14341434
optional uint64 ThrottlingMaxInplacedSizeHDD = 18 [(ControlOptions) = {
14351435
Description: "Maximum size of all inplaced blobs (HDD) - throttling speed is zero",
14361436
MinValue: 1048576,
1437-
MaxValue: 536870912000,
1437+
MaxValue: 549755813888000,
14381438
DefaultValue: 64424509440 }];
14391439
optional uint64 ThrottlingMinInplacedSizeSSD = 24 [(ControlOptions) = {
14401440
Description: "Minimum size of all inplaced blobs (SSD) - throttling is turned on",
14411441
MinValue: 1048576,
1442-
MaxValue: 536870912000,
1442+
MaxValue: 549755813888000,
14431443
DefaultValue: 21474836480 }];
14441444
optional uint64 ThrottlingMaxInplacedSizeSSD = 25 [(ControlOptions) = {
14451445
Description: "Maximum size of all inplaced blobs (SSD) - throttling speed is zero",
14461446
MinValue: 1048576,
1447-
MaxValue: 536870912000,
1447+
MaxValue: 549755813888000,
14481448
DefaultValue: 64424509440 }];
14491449
optional uint64 ThrottlingMinOccupancyPerMille = 19 [(ControlOptions) = {
14501450
Description: "Minimum occupancy of disk per mille - throttling is turned on",
@@ -1459,12 +1459,12 @@ message TImmediateControlsConfig {
14591459
optional uint64 ThrottlingMinLogChunkCount = 22 [(ControlOptions) = {
14601460
Description: "Minimum pdisk log chunk count - throttling is turned on",
14611461
MinValue: 1,
1462-
MaxValue: 1000,
1462+
MaxValue: 100000,
14631463
DefaultValue: 100 }];
14641464
optional uint64 ThrottlingMaxLogChunkCount = 23 [(ControlOptions) = {
14651465
Description: "Maximum pdisk log chunk count - throttling speed is zero",
14661466
MinValue: 1,
1467-
MaxValue: 1000,
1467+
MaxValue: 100000,
14681468
DefaultValue: 130 }];
14691469

14701470
optional uint64 MaxInProgressSyncCount = 27 [(ControlOptions) = {

0 commit comments

Comments
 (0)