Skip to content

Commit 6339986

Browse files
committed
fixes
1 parent 40bc2a3 commit 6339986

File tree

5 files changed

+36
-23
lines changed

5 files changed

+36
-23
lines changed

ydb/core/mind/hive/hive_impl.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2494,19 +2494,19 @@ bool THive::StopSubActor(TSubActorId subActorId) {
24942494
}
24952495

24962496
bool THive::IsValidMetrics(const NKikimrTabletBase::TMetrics& metrics) {
2497-
return IsValidMetricsCPU(metrics.GetCPU()) || IsValidMetricsMemory(metrics.GetMemory()) || IsValidMetricsNetwork(metrics.GetNetwork());
2497+
return IsValidMetricsCPU(metrics) || IsValidMetricsMemory(metrics) || IsValidMetricsNetwork(metrics);
24982498
}
24992499

2500-
bool THive::IsValidMetricsCPU(ui64 cpu) {
2501-
return cpu > 1'000/*1ms*/;
2500+
bool THive::IsValidMetricsCPU(const NKikimrTabletBase::TMetrics& metrics) {
2501+
return metrics.GetCPU() > 1'000/*1ms*/;
25022502
}
25032503

2504-
bool THive::IsValidMetricsMemory(ui64 memory) {
2505-
return memory > 128'000/*128KB*/;
2504+
bool THive::IsValidMetricsMemory(const NKikimrTabletBase::TMetrics& metrics) {
2505+
return metrics.GetMemory() > 128'000/*128KB*/;
25062506
}
25072507

2508-
bool THive::IsValidMetricsNetwork(ui64 network) {
2509-
return network > 1024/*1KBps*/;
2508+
bool THive::IsValidMetricsNetwork(const NKikimrTabletBase::TMetrics& metrics) {
2509+
return metrics.GetNetwork() > 1024/*1KBps*/;
25102510
}
25112511

25122512
TString THive::DebugDomainsActiveNodes() const {

ydb/core/mind/hive/hive_impl.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -667,9 +667,9 @@ class THive : public TActor<THive>, public TTabletExecutedFlat, public THiveShar
667667
const TVector<i64>& GetTabletTypeAllowedMetricIds(TTabletTypes::EType type) const;
668668
static const TVector<i64>& GetDefaultAllowedMetricIdsForType(TTabletTypes::EType type);
669669
static bool IsValidMetrics(const NKikimrTabletBase::TMetrics& metrics);
670-
static bool IsValidMetricsCPU(ui64 cpu);
671-
static bool IsValidMetricsMemory(ui64 memory);
672-
static bool IsValidMetricsNetwork(ui64 network);
670+
static bool IsValidMetricsCPU(const NKikimrTabletBase::TMetrics& metrics);
671+
static bool IsValidMetricsMemory(const NKikimrTabletBase::TMetrics& metrics);
672+
static bool IsValidMetricsNetwork(const NKikimrTabletBase::TMetrics& metrics);
673673
void UpdateTotalResourceValues(
674674
const TNodeInfo* node,
675675
const TTabletInfo* tablet,

ydb/core/mind/hive/hive_ut.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4672,6 +4672,16 @@ Y_UNIT_TEST_SUITE(THiveTest) {
46724672
auto newDistribution = getDistribution();
46734673

46744674
UNIT_ASSERT_EQUAL(initialDistribution, newDistribution);
4675+
4676+
{
4677+
auto request = std::make_unique<TEvHive::TEvRequestHiveDomainStats>();
4678+
request->Record.SetReturnMetrics(true);
4679+
runtime.SendToPipe(hiveTablet, senderA, request.release());
4680+
TAutoPtr<IEventHandle> handle;
4681+
TEvHive::TEvResponseHiveDomainStats* response = runtime.GrabEdgeEventRethrow<TEvHive::TEvResponseHiveDomainStats>(handle);
4682+
ui64 totalCounter = response->Record.GetDomainStats(0).GetMetrics().GetCounter();
4683+
UNIT_ASSERT_VALUES_EQUAL(totalCounter, 0);
4684+
}
46754685
}
46764686

46774687
Y_UNIT_TEST(TestHiveBalancerWithImmovableTablets) {

ydb/core/mind/hive/tablet_info.cpp

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -426,17 +426,21 @@ TResourceRawValues TTabletInfo::GetResourceMaximumValues() const {
426426
}
427427
}
428428

429-
i64 TTabletInfo::GetCounterValue(const TTabletMetricsAggregates& metrics, const TVector<i64>& allowedMetricIds) {
429+
i64 TTabletInfo::GetCounterValue() const {
430+
const auto& allowedMetricIds = GetTabletAllowedMetricIds();
430431
if (HasAllowedMetric(allowedMetricIds, EResourceToBalance::CPU)
431-
&& THive::IsValidMetricsCPU(metrics.MaximumCPU.GetAllTimeMaximum())) {
432+
&& (ResourceMetricsAggregates.MaximumCPU.GetAllTimeMaximum() > 0
433+
|| ResourceValues.GetCPU() > 0)) {
432434
return 0;
433435
}
434436
if (HasAllowedMetric(allowedMetricIds, EResourceToBalance::Memory)
435-
&& THive::IsValidMetricsMemory(metrics.MaximumMemory.GetAllTimeMaximum() > 0)) {
437+
&& (ResourceMetricsAggregates.MaximumMemory.GetAllTimeMaximum() > 0
438+
|| ResourceValues.GetMemory() > 0)) {
436439
return 0;
437440
}
438441
if (HasAllowedMetric(allowedMetricIds, EResourceToBalance::Network)
439-
&& THive::IsValidMetricsNetwork(metrics.MaximumNetwork.GetAllTimeMaximum())) {
442+
&& (ResourceMetricsAggregates.MaximumNetwork.GetAllTimeMaximum() > 0
443+
|| ResourceValues.GetNetwork() > 0)) {
440444
return 0;
441445
}
442446
return 1;
@@ -448,13 +452,13 @@ void TTabletInfo::FilterRawValues(TResourceRawValues& values) const {
448452
if (metrics.GetCounter() == 0) {
449453
std::get<NMetrics::EResource::Counter>(values) = 0;
450454
}
451-
if (!HasAllowedMetric(allowedMetricIds, EResourceToBalance::CPU) || !THive::IsValidMetricsCPU(metrics.GetCPU())) {
455+
if (!HasAllowedMetric(allowedMetricIds, EResourceToBalance::CPU) || !THive::IsValidMetricsCPU(metrics)) {
452456
std::get<NMetrics::EResource::CPU>(values) = 0;
453457
}
454-
if (!HasAllowedMetric(allowedMetricIds, EResourceToBalance::Memory) || !THive::IsValidMetricsMemory(metrics.GetMemory())) {
458+
if (!HasAllowedMetric(allowedMetricIds, EResourceToBalance::Memory) || !THive::IsValidMetricsMemory(metrics)) {
455459
std::get<NMetrics::EResource::Memory>(values) = 0;
456460
}
457-
if (!HasAllowedMetric(allowedMetricIds, EResourceToBalance::Network) || !THive::IsValidMetricsNetwork(metrics.GetNetwork())) {
461+
if (!HasAllowedMetric(allowedMetricIds, EResourceToBalance::Network) || !THive::IsValidMetricsNetwork(metrics)) {
458462
std::get<NMetrics::EResource::Network>(values) = 0;
459463
}
460464
}
@@ -465,20 +469,19 @@ void TTabletInfo::FilterRawValues(TResourceNormalizedValues& values) const {
465469
if (metrics.GetCounter() == 0) {
466470
std::get<NMetrics::EResource::Counter>(values) = 0;
467471
}
468-
if (!HasAllowedMetric(allowedMetricIds, EResourceToBalance::CPU) || !THive::IsValidMetricsCPU(metrics.GetCPU())) {
472+
if (!HasAllowedMetric(allowedMetricIds, EResourceToBalance::CPU) || !THive::IsValidMetricsCPU(metrics)) {
469473
std::get<NMetrics::EResource::CPU>(values) = 0;
470474
}
471-
if (!HasAllowedMetric(allowedMetricIds, EResourceToBalance::Memory) || !THive::IsValidMetricsMemory(metrics.GetMemory())) {
475+
if (!HasAllowedMetric(allowedMetricIds, EResourceToBalance::Memory) || !THive::IsValidMetricsMemory(metrics)) {
472476
std::get<NMetrics::EResource::Memory>(values) = 0;
473477
}
474-
if (!HasAllowedMetric(allowedMetricIds, EResourceToBalance::Network) || !THive::IsValidMetricsNetwork(metrics.GetNetwork())) {
478+
if (!HasAllowedMetric(allowedMetricIds, EResourceToBalance::Network) || !THive::IsValidMetricsNetwork(metrics)) {
475479
std::get<NMetrics::EResource::Network>(values) = 0;
476480
}
477481
}
478482

479483
void TTabletInfo::ActualizeCounter() {
480-
auto value = GetCounterValue(ResourceMetricsAggregates, GetTabletAllowedMetricIds());
481-
ResourceValues.SetCounter(value);
484+
ResourceValues.SetCounter(GetCounterValue());
482485
}
483486

484487
const TNodeFilter& TTabletInfo::GetNodeFilter() const {

ydb/core/mind/hive/tablet_info.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@ struct TTabletInfo {
233233
void UpdateResourceUsage(const NKikimrTabletBase::TMetrics& metrics);
234234
TResourceRawValues GetResourceCurrentValues() const;
235235
TResourceRawValues GetResourceMaximumValues() const;
236-
static i64 GetCounterValue(const TTabletMetricsAggregates& metrics, const TVector<i64>& allowedMetricIds);
236+
i64 GetCounterValue() const;
237237
void FilterRawValues(TResourceRawValues& values) const;
238238
void FilterRawValues(TResourceNormalizedValues& values) const;
239239
void ActualizeCounter();

0 commit comments

Comments
 (0)