Skip to content

Commit 0ca1ac0

Browse files
fix optimizer signals (#4915)
1 parent b8e7cb5 commit 0ca1ac0

File tree

1 file changed

+21
-20
lines changed
  • ydb/core/tx/columnshard/engines/storage/optimizer/lbuckets

1 file changed

+21
-20
lines changed

ydb/core/tx/columnshard/engines/storage/optimizer/lbuckets/optimizer.h

+21-20
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,21 @@
11
#pragma once
22
#include "counters.h"
33

4+
#include <ydb/core/formats/arrow/reader/position.h>
45
#include <ydb/core/tx/columnshard/blobs_action/abstract/storages_manager.h>
56
#include <ydb/core/tx/columnshard/common/limits.h>
67
#include <ydb/core/tx/columnshard/data_locks/manager/manager.h>
7-
#include <ydb/core/tx/columnshard/engines/changes/general_compaction.h>
88
#include <ydb/core/tx/columnshard/engines/changes/abstract/abstract.h>
9+
#include <ydb/core/tx/columnshard/engines/changes/general_compaction.h>
910
#include <ydb/core/tx/columnshard/engines/portions/portion_info.h>
1011
#include <ydb/core/tx/columnshard/engines/storage/optimizer/abstract/optimizer.h>
1112
#include <ydb/core/tx/columnshard/hooks/abstract/abstract.h>
13+
1214
#include <ydb/library/accessor/accessor.h>
1315

1416
#include <util/generic/hash.h>
15-
#include <util/system/types.h>
1617
#include <util/generic/hash_set.h>
17-
#include <ydb/core/formats/arrow/reader/position.h>
18+
#include <util/system/types.h>
1819

1920
namespace NKikimr::NOlap::NStorageOptimizer::NBuckets {
2021

@@ -30,6 +31,7 @@ class TSimplePortionsGroupInfo {
3031
YDB_READONLY(i64, Bytes, 0);
3132
YDB_READONLY(i64, Count, 0);
3233
YDB_READONLY(i64, RecordsCount, 0);
34+
3335
public:
3436
NJson::TJsonValue SerializeToJson() const {
3537
NJson::TJsonValue result = NJson::JSON_MAP;
@@ -62,11 +64,10 @@ class TPortionsGroupInfo: public TSimplePortionsGroupInfo {
6264
private:
6365
using TBase = TSimplePortionsGroupInfo;
6466
std::shared_ptr<TPortionCategoryCounters> Signals;
67+
6568
public:
6669
TPortionsGroupInfo(const std::shared_ptr<TPortionCategoryCounters>& signals)
67-
: Signals(signals)
68-
{
69-
70+
: Signals(signals) {
7071
}
7172

7273
void AddPortion(const std::shared_ptr<TPortionInfo>& p) {
@@ -286,13 +287,13 @@ class TPortionsPool {
286287

287288
TPortionsPool(const std::shared_ptr<TCounters>& counters, const TDuration futureDetector)
288289
: Counters(counters)
289-
, FutureDetector(futureDetector)
290-
{
290+
, FutureDetector(futureDetector) {
291291
}
292292

293293
~TPortionsPool() {
294294
for (auto&& i : Actuals) {
295295
Counters->PortionsForMerge->RemovePortion(i.second);
296+
Counters->ActualPortions->RemovePortion(i.second);
296297
}
297298
for (auto&& f : Futures) {
298299
for (auto&& i : f.second) {
@@ -433,7 +434,7 @@ class TPortionsPool {
433434
}
434435
}
435436

436-
bool Remove(const std::shared_ptr<TPortionInfo>& portion) Y_WARN_UNUSED_RESULT {
437+
[[nodiscard]] bool Remove(const std::shared_ptr<TPortionInfo>& portion) {
437438
portion->AddRuntimeFeature(TPortionInfo::ERuntimeFeature::Optimized);
438439
if (RemovePreActual(portion)) {
439440
return true;
@@ -660,12 +661,12 @@ class TPortionsBucket: public TMoveOnly {
660661
TPortionsBucket& Owner;
661662
const bool IsEmptyOthers = false;
662663
const bool HasNextBorder = false;
664+
663665
public:
664666
TModificationGuard(TPortionsBucket& owner)
665667
: Owner(owner)
666668
, IsEmptyOthers(Owner.Others.ActualsEmpty())
667-
, HasNextBorder(Owner.NextBorder)
668-
{
669+
, HasNextBorder(Owner.NextBorder) {
669670
AFL_VERIFY_DEBUG(Owner.Validate());
670671
}
671672

@@ -710,8 +711,7 @@ class TPortionsBucket: public TMoveOnly {
710711
TPortionsBucket(const std::shared_ptr<TPortionInfo>& portion, const std::shared_ptr<TCounters>& counters)
711712
: MainPortion(portion)
712713
, Counters(counters)
713-
, Others(Counters, GetCommonFreshnessCheckDuration())
714-
{
714+
, Others(Counters, GetCommonFreshnessCheckDuration()) {
715715
if (MainPortion) {
716716
Counters->PortionsAlone->AddPortion(MainPortion);
717717
}
@@ -995,13 +995,14 @@ class TPortionBuckets {
995995
}
996996
AddBucketToRating(insertInfo.first->second);
997997
}
998+
998999
public:
999-
TPortionBuckets(const std::shared_ptr<arrow::Schema>& primaryKeysSchema, const std::shared_ptr<IStoragesManager>& storagesManager, const std::shared_ptr<TCounters>& counters)
1000+
TPortionBuckets(const std::shared_ptr<arrow::Schema>& primaryKeysSchema, const std::shared_ptr<IStoragesManager>& storagesManager,
1001+
const std::shared_ptr<TCounters>& counters)
10001002
: PrimaryKeysSchema(primaryKeysSchema)
10011003
, StoragesManager(storagesManager)
10021004
, LeftBucket(std::make_shared<TPortionsBucket>(nullptr, counters))
1003-
, Counters(counters)
1004-
{
1005+
, Counters(counters) {
10051006
AddBucketToRating(LeftBucket);
10061007
}
10071008

@@ -1128,6 +1129,7 @@ class TOptimizerPlanner: public IOptimizerPlanner {
11281129
std::shared_ptr<TCounters> Counters;
11291130
TPortionBuckets Buckets;
11301131
const std::shared_ptr<IStoragesManager> StoragesManager;
1132+
11311133
protected:
11321134
virtual bool DoIsLocked(const std::shared_ptr<NDataLocks::TManager>& dataLocksManager) const override {
11331135
return Buckets.IsLocked(dataLocksManager);
@@ -1156,7 +1158,6 @@ class TOptimizerPlanner: public IOptimizerPlanner {
11561158
}
11571159
virtual std::shared_ptr<TColumnEngineChanges> DoGetOptimizationTask(std::shared_ptr<TGranuleMeta> granule, const std::shared_ptr<NDataLocks::TManager>& locksManager) const override {
11581160
return Buckets.BuildOptimizationTask(granule, locksManager);
1159-
11601161
}
11611162
virtual void DoActualize(const TInstant currentInstant) override {
11621163
Buckets.Actualize(currentInstant);
@@ -1175,6 +1176,7 @@ class TOptimizerPlanner: public IOptimizerPlanner {
11751176
virtual NJson::TJsonValue DoSerializeToJsonVisual() const override {
11761177
return Buckets.SerializeToJson();
11771178
}
1179+
11781180
public:
11791181
virtual std::vector<NArrow::NMerger::TSortableBatchPosition> GetBucketPositions() const override {
11801182
return Buckets.GetBucketPositions();
@@ -1184,9 +1186,8 @@ class TOptimizerPlanner: public IOptimizerPlanner {
11841186
: TBase(pathId)
11851187
, Counters(std::make_shared<TCounters>())
11861188
, Buckets(primaryKeysSchema, storagesManager, Counters)
1187-
, StoragesManager(storagesManager)
1188-
{
1189+
, StoragesManager(storagesManager) {
11891190
}
11901191
};
11911192

1192-
}
1193+
} // namespace NKikimr::NOlap::NStorageOptimizer::NBuckets

0 commit comments

Comments
 (0)