Skip to content

Commit e617484

Browse files
committed
fix segfault
1 parent fbb5c61 commit e617484

File tree

4 files changed

+18
-16
lines changed

4 files changed

+18
-16
lines changed

ydb/core/tx/columnshard/columnshard__write.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ void TColumnShard::OverloadWriteFail(const EOverloadStatus overloadReason, const
1616
Counters.GetTabletCounters()->IncCounter(COUNTER_WRITE_FAIL);
1717
switch (overloadReason) {
1818
case EOverloadStatus::Disk:
19-
Counters.GetCSCounters().OnWriteOverloadDisk(writeData.GetSize());
19+
Counters.GetCSCounters().OnWriteOverloadDisk();
2020
break;
2121
case EOverloadStatus::InsertTable:
2222
Counters.GetCSCounters().OnWriteOverloadInsertTable(writeData.GetSize());

ydb/core/tx/columnshard/counters/columnshard.cpp

+4-2
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,11 @@
66

77
namespace NKikimr::NColumnShard {
88

9-
TCSCounters::TCSCounters()
10-
: TBase("CS")
9+
TCSCounters::TCSCounters(std::shared_ptr<const TTabletCountersHandle> tabletCounters)
10+
: TBase("CS"), TabletCounters(std::move(tabletCounters))
1111
{
12+
Y_ABORT_UNLESS(TabletCounters);
13+
1214
StartBackgroundCount = TBase::GetDeriviative("StartBackground/Count");
1315
TooEarlyBackgroundCount = TBase::GetDeriviative("TooEarlyBackground/Count");
1416
SetupCompactionCount = TBase::GetDeriviative("SetupCompaction/Count");

ydb/core/tx/columnshard/counters/columnshard.h

+3-3
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ class TCSCounters: public TCommonCountersOwner {
2121
private:
2222
using TBase = TCommonCountersOwner;
2323

24-
std::shared_ptr<TTabletCountersHandle> TabletCounters;
24+
std::shared_ptr<const TTabletCountersHandle> TabletCounters;
2525

2626
NMonitoring::TDynamicCounters::TCounterPtr StartBackgroundCount;
2727
NMonitoring::TDynamicCounters::TCounterPtr TooEarlyBackgroundCount;
@@ -133,7 +133,7 @@ class TCSCounters: public TCommonCountersOwner {
133133
SplitCompactionGranulePortionsCount->SetValue(portionsCount);
134134
}
135135

136-
void OnWriteOverloadDisk(const ui64 /*size*/) const {
136+
void OnWriteOverloadDisk() const {
137137
TabletCounters->IncCounter(COUNTER_OUT_OF_SPACE);
138138
}
139139

@@ -213,7 +213,7 @@ class TCSCounters: public TCommonCountersOwner {
213213
SetupCleanupCount->Add(1);
214214
}
215215

216-
TCSCounters();
216+
TCSCounters(std::shared_ptr<const TTabletCountersHandle> tabletCounters);
217217
};
218218

219219
}

ydb/core/tx/columnshard/counters/counters_manager.h

+10-10
Original file line numberDiff line numberDiff line change
@@ -21,26 +21,26 @@ namespace NKikimr::NColumnShard {
2121

2222
class TCountersManager {
2323
private:
24-
YDB_READONLY(TCSCounters, CSCounters, TCSCounters());
24+
YDB_READONLY_DEF(std::shared_ptr<const TTabletCountersHandle>, TabletCounters);
25+
YDB_READONLY_DEF(std::shared_ptr<TWritesMonitor>, WritesMonitor);
26+
27+
YDB_READONLY_DEF(std::shared_ptr<TBackgroundControllerCounters>, BackgroundControllerCounters);
28+
YDB_READONLY_DEF(std::shared_ptr<TColumnTablesCounters>, ColumnTablesCounters);
29+
30+
YDB_READONLY(TCSCounters, CSCounters, TCSCounters(TabletCounters));
2531
YDB_READONLY(TIndexationCounters, EvictionCounters, TIndexationCounters("Eviction"));
2632
YDB_READONLY(TIndexationCounters, IndexationCounters, TIndexationCounters("Indexation"));
2733
YDB_READONLY(TIndexationCounters, CompactionCounters, TIndexationCounters("GeneralCompaction"));
2834
YDB_READONLY(TScanCounters, ScanCounters, TScanCounters("Scan"));
2935
YDB_READONLY_DEF(std::shared_ptr<NOlap::NResourceBroker::NSubscribe::TSubscriberCounters>, SubscribeCounters);
3036

31-
YDB_READONLY_DEF(std::shared_ptr<TBackgroundControllerCounters>, BackgroundControllerCounters);
32-
YDB_READONLY_DEF(std::shared_ptr<TColumnTablesCounters>, ColumnTablesCounters);
33-
34-
YDB_READONLY_DEF(std::shared_ptr<const TTabletCountersHandle>, TabletCounters);
35-
YDB_READONLY_DEF(std::shared_ptr<TWritesMonitor>, WritesMonitor);
36-
3737
public:
3838
TCountersManager(TTabletCountersBase& tabletCounters)
39-
: SubscribeCounters(std::make_shared<NOlap::NResourceBroker::NSubscribe::TSubscriberCounters>())
39+
: TabletCounters(std::make_shared<const TTabletCountersHandle>(tabletCounters))
40+
, WritesMonitor(std::make_shared<TWritesMonitor>(tabletCounters))
4041
, BackgroundControllerCounters(std::make_shared<TBackgroundControllerCounters>())
4142
, ColumnTablesCounters(std::make_shared<TColumnTablesCounters>())
42-
, TabletCounters(std::make_shared<const TTabletCountersHandle>(tabletCounters))
43-
, WritesMonitor(std::make_shared<TWritesMonitor>(tabletCounters)) {
43+
, SubscribeCounters(std::make_shared<NOlap::NResourceBroker::NSubscribe::TSubscriberCounters>()) {
4444
}
4545
};
4646

0 commit comments

Comments
 (0)