Skip to content

Commit b8a327d

Browse files
author
ivanmorozov
committed
KIKIMR-19215: additional signals
1 parent 3a0ef9c commit b8a327d

24 files changed

+198
-14
lines changed

ydb/core/tx/columnshard/blobs_action/abstract/read.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ class IBlobsReadingAction: public ICommonBlobsAction {
2121
THashMap<TBlobRange, TErrorStatus> Fails;
2222
std::shared_ptr<NBlobOperations::TReadCounters> Counters;
2323
bool Started = false;
24+
YDB_ACCESSOR(bool, IsBackgroundProcess, true);
2425
protected:
2526
virtual void DoStartReading(const THashMap<TUnifiedBlobId, THashSet<TBlobRange>>& range) = 0;
2627
void StartReading(THashMap<TUnifiedBlobId, THashSet<TBlobRange>>&& ranges);

ydb/core/tx/columnshard/blobs_action/abstract/remove.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ namespace NKikimr::NOlap {
66
void IBlobsDeclareRemovingAction::DeclareRemove(const TUnifiedBlobId& blobId) {
77
if (DeclaredBlobs.emplace(blobId).second) {
88
ACFL_DEBUG("event", "DeclareRemove")("blob_id", blobId);
9+
Counters->OnRequest(blobId.BlobSize());
910
return DoDeclareRemove(blobId);
1011
}
1112
}

ydb/core/tx/columnshard/blobs_action/abstract/remove.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
#include <util/generic/hash_set.h>
44
#include <ydb/core/tx/columnshard/blob.h>
55
#include <ydb/library/accessor/accessor.h>
6+
#include <ydb/core/tx/columnshard/blobs_action/counters/remove_declare.h>
67

78
namespace NKikimr::NColumnShard {
89
class TColumnShard;
@@ -14,6 +15,7 @@ namespace NKikimr::NOlap {
1415
class IBlobsDeclareRemovingAction: public ICommonBlobsAction {
1516
private:
1617
using TBase = ICommonBlobsAction;
18+
std::shared_ptr<NBlobOperations::TRemoveDeclareCounters> Counters;
1719
YDB_READONLY_DEF(THashSet<TUnifiedBlobId>, DeclaredBlobs);
1820
protected:
1921
virtual void DoDeclareRemove(const TUnifiedBlobId& blobId) = 0;
@@ -26,6 +28,10 @@ class IBlobsDeclareRemovingAction: public ICommonBlobsAction {
2628

2729
}
2830

31+
void SetCounters(const std::shared_ptr<NBlobOperations::TRemoveDeclareCounters>& counters) {
32+
Counters = counters;
33+
}
34+
2935
void DeclareRemove(const TUnifiedBlobId& blobId);
3036
void OnExecuteTxAfterRemoving(NColumnShard::TColumnShard& self, NColumnShard::TBlobManagerDb& dbBlobs, const bool success) {
3137
return DoOnExecuteTxAfterRemoving(self, dbBlobs, success);

ydb/core/tx/columnshard/blobs_action/abstract/storage.h

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
#include <ydb/core/tx/columnshard/blobs_action/blob_manager_db.h>
88
#include <ydb/core/tx/columnshard/blobs_action/counters/storage.h>
9+
#include <ydb/core/tx/columnshard/blobs_action/counters/remove_gc.h>
910
#include <ydb/library/accessor/accessor.h>
1011

1112
namespace NKikimr::NColumnShard {
@@ -47,9 +48,9 @@ class IBlobsStorageOperator {
4748
return "";
4849
}
4950

50-
virtual std::shared_ptr<IBlobsGCAction> DoStartGCAction() const = 0;
51-
std::shared_ptr<IBlobsGCAction> StartGCAction() const {
52-
return DoStartGCAction();
51+
virtual std::shared_ptr<IBlobsGCAction> DoStartGCAction(const std::shared_ptr<NBlobOperations::TRemoveGCCounters>& counters) const = 0;
52+
std::shared_ptr<IBlobsGCAction> StartGCAction(const std::shared_ptr<NBlobOperations::TRemoveGCCounters>& counters) const {
53+
return DoStartGCAction(counters);
5354
}
5455

5556
public:
@@ -76,8 +77,10 @@ class IBlobsStorageOperator {
7677
return DoOnTieringModified(tiers);
7778
}
7879

79-
std::shared_ptr<IBlobsDeclareRemovingAction> StartDeclareRemovingAction(const TString& /*consumerId*/) {
80-
return DoStartDeclareRemovingAction();
80+
std::shared_ptr<IBlobsDeclareRemovingAction> StartDeclareRemovingAction(const TString& consumerId) {
81+
auto result = DoStartDeclareRemovingAction();
82+
result->SetCounters(Counters->GetConsumerCounter(consumerId)->GetRemoveDeclareCounters());
83+
return result;
8184
}
8285
std::shared_ptr<IBlobsWritingAction> StartWritingAction(const TString& consumerId) {
8386
auto result = DoStartWritingAction();
@@ -96,7 +99,7 @@ class IBlobsStorageOperator {
9699
if (Stopped) {
97100
return false;
98101
}
99-
auto task = StartGCAction();
102+
auto task = StartGCAction(Counters->GetConsumerCounter("GC")->GetRemoveGCCounters());
100103
if (!task) {
101104
return false;
102105
}

ydb/core/tx/columnshard/blobs_action/bs/gc.cpp

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,11 @@ void TGCTask::OnGCResult(TEvBlobStorage::TEvCollectGarbageResult::TPtr ev) {
5757
Y_ABORT_UNLESS(itGroup != ListsByGroupId.end());
5858
const auto& keepList = itGroup->second.KeepList;
5959
const auto& dontKeepList = itGroup->second.DontKeepList;
60+
61+
for (auto&& i : dontKeepList) {
62+
Counters->OnReply(i.BlobSize());
63+
}
64+
6065
AFL_DEBUG(NKikimrServices::TX_COLUMNSHARD)("actor", "OnGCResult")("keep_list", keepList.size())("dont_keep_list", dontKeepList.size());
6166

6267
for (const auto& blobId : keepList) {
@@ -83,7 +88,9 @@ THashMap<ui32, std::unique_ptr<NKikimr::TEvBlobStorage::TEvCollectGarbage>> TGCT
8388
new TVector<TLogoBlobID>(gl.second.KeepList.begin(), gl.second.KeepList.end()),
8489
new TVector<TLogoBlobID>(gl.second.DontKeepList.begin(), gl.second.DontKeepList.end()),
8590
TInstant::Max(), true);
86-
91+
for (auto&& i : gl.second.DontKeepList) {
92+
Counters->OnRequest(i.BlobSize());
93+
}
8794
Y_ABORT_UNLESS(CounterToGroupInFlight.emplace(perGenerationCounter, group).second);
8895
perGenerationCounter += requests[group]->PerGenerationCounterStepSize();
8996
}

ydb/core/tx/columnshard/blobs_action/bs/gc.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
#include <ydb/core/tx/columnshard/blob_cache.h>
44
#include <ydb/core/tx/columnshard/blobs_action/abstract/gc.h>
5+
#include <ydb/core/tx/columnshard/blobs_action/counters/remove_gc.h>
56
#include <ydb/core/tx/columnshard/blob_manager.h>
67

78
namespace NKikimr::NOlap::NBlobOperations::NBlobStorage {
@@ -23,6 +24,7 @@ class TGCTask: public IBlobsGCAction {
2324
std::deque<TUnifiedBlobId> KeepsToErase;
2425
std::deque<TUnifiedBlobId> DeletesToErase;
2526
std::shared_ptr<NColumnShard::TBlobManager> Manager;
27+
std::shared_ptr<TRemoveGCCounters> Counters;
2628
protected:
2729
virtual void DoOnExecuteTxAfterCleaning(NColumnShard::TColumnShard& self, NColumnShard::TBlobManagerDb& dbBlobs) override;
2830
virtual bool DoOnCompleteTxAfterCleaning(NColumnShard::TColumnShard& self, const std::shared_ptr<IBlobsGCAction>& taskAction) override;
@@ -31,6 +33,10 @@ class TGCTask: public IBlobsGCAction {
3133
return ListsByGroupId.empty();
3234
}
3335

36+
void SetCounters(const std::shared_ptr<TRemoveGCCounters>& counters) {
37+
Counters = counters;
38+
}
39+
3440
TGCTask(const TString& storageId, TGCListsByGroup&& listsByGroupId, const NColumnShard::TGenStep& collectGenStepInFlight, std::deque<TUnifiedBlobId>&& keepsToErase, std::deque<TUnifiedBlobId>&& deletesToErase,
3541
const std::shared_ptr<NColumnShard::TBlobManager>& manager);
3642

ydb/core/tx/columnshard/blobs_action/bs/read.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ class TReadingAction: public IBlobsReadingAction {
1313
protected:
1414
virtual void DoStartReading(const THashMap<TUnifiedBlobId, THashSet<TBlobRange>>& ranges) override {
1515
for (auto&& i : ranges) {
16-
NBlobCache::TReadBlobRangeOptions readOpts{.CacheAfterRead = true, .IsBackgroud = true, .WithDeadline = false};
16+
NBlobCache::TReadBlobRangeOptions readOpts{.CacheAfterRead = true, .IsBackgroud = GetIsBackgroundProcess(), .WithDeadline = false};
1717
std::vector<TBlobRange> rangesLocal(i.second.begin(), i.second.end());
1818
TActorContext::AsActorContext().Send(BlobCacheActorId, new NBlobCache::TEvBlobCache::TEvReadBlobRangeBatch(std::move(rangesLocal), std::move(readOpts)));
1919
AFL_DEBUG(NKikimrServices::TX_COLUMNSHARD)("blob_id", i.first)("count", i.second.size());

ydb/core/tx/columnshard/blobs_action/bs/storage.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,13 @@ std::shared_ptr<NKikimr::NOlap::IBlobsReadingAction> TOperator::DoStartReadingAc
2020
return std::make_shared<TReadingAction>(GetStorageId(), BlobCacheActorId);
2121
}
2222

23-
std::shared_ptr<IBlobsGCAction> TOperator::DoStartGCAction() const {
23+
std::shared_ptr<IBlobsGCAction> TOperator::DoStartGCAction(const std::shared_ptr<TRemoveGCCounters>& counters) const {
2424
auto gcTask = Manager->BuildGCTask(GetStorageId(), Manager);
2525
if (!gcTask || gcTask->IsEmpty()) {
2626
AFL_DEBUG(NKikimrServices::TX_COLUMNSHARD)("event", "StartGCSkipped");
2727
return nullptr;
2828
}
29+
gcTask->SetCounters(counters);
2930
auto requests = gcTask->BuildRequests(PerGenerationCounter, Manager->GetTabletId(), Manager->GetCurrentGen());
3031
AFL_VERIFY(requests.size());
3132
AFL_DEBUG(NKikimrServices::TX_COLUMNSHARD)("event", "StartGC")("requests_count", requests.size());

ydb/core/tx/columnshard/blobs_action/bs/storage.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ class TOperator: public IBlobsStorageOperator {
1818
virtual std::shared_ptr<IBlobsDeclareRemovingAction> DoStartDeclareRemovingAction() override;
1919
virtual std::shared_ptr<IBlobsWritingAction> DoStartWritingAction() override;
2020
virtual std::shared_ptr<IBlobsReadingAction> DoStartReadingAction() override;
21-
virtual std::shared_ptr<IBlobsGCAction> DoStartGCAction() const override;
21+
virtual std::shared_ptr<IBlobsGCAction> DoStartGCAction(const std::shared_ptr<TRemoveGCCounters>& counters) const override;
2222
virtual bool DoLoad(NColumnShard::IBlobManagerDb& dbBlobs) override {
2323
return Manager->LoadState(dbBlobs);
2424
}

ydb/core/tx/columnshard/blobs_action/counters/CMakeLists.darwin-x86_64.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,6 @@ target_sources(columnshard-blobs_action-counters PRIVATE
1919
${CMAKE_SOURCE_DIR}/ydb/core/tx/columnshard/blobs_action/counters/read.cpp
2020
${CMAKE_SOURCE_DIR}/ydb/core/tx/columnshard/blobs_action/counters/storage.cpp
2121
${CMAKE_SOURCE_DIR}/ydb/core/tx/columnshard/blobs_action/counters/write.cpp
22+
${CMAKE_SOURCE_DIR}/ydb/core/tx/columnshard/blobs_action/counters/remove_declare.cpp
23+
${CMAKE_SOURCE_DIR}/ydb/core/tx/columnshard/blobs_action/counters/remove_gc.cpp
2224
)

ydb/core/tx/columnshard/blobs_action/counters/CMakeLists.linux-aarch64.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,6 @@ target_sources(columnshard-blobs_action-counters PRIVATE
2020
${CMAKE_SOURCE_DIR}/ydb/core/tx/columnshard/blobs_action/counters/read.cpp
2121
${CMAKE_SOURCE_DIR}/ydb/core/tx/columnshard/blobs_action/counters/storage.cpp
2222
${CMAKE_SOURCE_DIR}/ydb/core/tx/columnshard/blobs_action/counters/write.cpp
23+
${CMAKE_SOURCE_DIR}/ydb/core/tx/columnshard/blobs_action/counters/remove_declare.cpp
24+
${CMAKE_SOURCE_DIR}/ydb/core/tx/columnshard/blobs_action/counters/remove_gc.cpp
2325
)

ydb/core/tx/columnshard/blobs_action/counters/CMakeLists.linux-x86_64.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,6 @@ target_sources(columnshard-blobs_action-counters PRIVATE
2020
${CMAKE_SOURCE_DIR}/ydb/core/tx/columnshard/blobs_action/counters/read.cpp
2121
${CMAKE_SOURCE_DIR}/ydb/core/tx/columnshard/blobs_action/counters/storage.cpp
2222
${CMAKE_SOURCE_DIR}/ydb/core/tx/columnshard/blobs_action/counters/write.cpp
23+
${CMAKE_SOURCE_DIR}/ydb/core/tx/columnshard/blobs_action/counters/remove_declare.cpp
24+
${CMAKE_SOURCE_DIR}/ydb/core/tx/columnshard/blobs_action/counters/remove_gc.cpp
2325
)

ydb/core/tx/columnshard/blobs_action/counters/CMakeLists.windows-x86_64.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,6 @@ target_sources(columnshard-blobs_action-counters PRIVATE
1919
${CMAKE_SOURCE_DIR}/ydb/core/tx/columnshard/blobs_action/counters/read.cpp
2020
${CMAKE_SOURCE_DIR}/ydb/core/tx/columnshard/blobs_action/counters/storage.cpp
2121
${CMAKE_SOURCE_DIR}/ydb/core/tx/columnshard/blobs_action/counters/write.cpp
22+
${CMAKE_SOURCE_DIR}/ydb/core/tx/columnshard/blobs_action/counters/remove_declare.cpp
23+
${CMAKE_SOURCE_DIR}/ydb/core/tx/columnshard/blobs_action/counters/remove_gc.cpp
2224
)
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#include "remove_declare.h"
2+
#include "storage.h"
3+
4+
namespace NKikimr::NOlap::NBlobOperations {
5+
6+
TRemoveDeclareCounters::TRemoveDeclareCounters(const TConsumerCounters& owner)
7+
: TBase(owner, "RemoveDeclare")
8+
{
9+
RequestsCount = TBase::GetDeriviative("Requests/Count");
10+
RequestBytes = TBase::GetDeriviative("Requests/Bytes");
11+
12+
RepliesCount = TBase::GetDeriviative("Replies/Count");
13+
ReplyBytes = TBase::GetDeriviative("Replies/Bytes");
14+
ReplyDurationBySize = TBase::GetHistogram("Replies/Duration/Bytes", NMonitoring::ExponentialHistogram(15, 2, 1));
15+
ReplyDurationByCount = TBase::GetHistogram("Replies/Duration/Count", NMonitoring::ExponentialHistogram(15, 2, 1));
16+
17+
FailsCount = TBase::GetDeriviative("Fails/Count");
18+
FailBytes = TBase::GetDeriviative("Fails/Bytes");
19+
FailDurationBySize = TBase::GetHistogram("Fails/Duration/Bytes", NMonitoring::ExponentialHistogram(15, 2, 2));
20+
FailDurationByCount = TBase::GetHistogram("Fails/Duration/Count", NMonitoring::ExponentialHistogram(15, 2, 2));
21+
}
22+
23+
}
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
#pragma once
2+
#include <library/cpp/monlib/dynamic_counters/counters.h>
3+
#include <ydb/core/tx/columnshard/counters/common/owner.h>
4+
5+
namespace NKikimr::NOlap::NBlobOperations {
6+
7+
class TConsumerCounters;
8+
9+
class TRemoveDeclareCounters: public NColumnShard::TCommonCountersOwner {
10+
private:
11+
using TBase = NColumnShard::TCommonCountersOwner;
12+
NMonitoring::TDynamicCounters::TCounterPtr RequestsCount;
13+
NMonitoring::TDynamicCounters::TCounterPtr RequestBytes;
14+
15+
NMonitoring::TDynamicCounters::TCounterPtr RepliesCount;
16+
NMonitoring::TDynamicCounters::TCounterPtr ReplyBytes;
17+
NMonitoring::THistogramPtr ReplyDurationByCount;
18+
NMonitoring::THistogramPtr ReplyDurationBySize;
19+
20+
NMonitoring::TDynamicCounters::TCounterPtr FailsCount;
21+
NMonitoring::TDynamicCounters::TCounterPtr FailBytes;
22+
NMonitoring::THistogramPtr FailDurationByCount;
23+
NMonitoring::THistogramPtr FailDurationBySize;
24+
public:
25+
TRemoveDeclareCounters(const TConsumerCounters& owner);
26+
27+
void OnRequest(const ui64 bytes) const {
28+
RequestsCount->Add(1);
29+
RequestBytes->Add(bytes);
30+
}
31+
32+
void OnReply(const ui64 bytes, const TDuration d) const {
33+
RepliesCount->Add(1);
34+
ReplyBytes->Add(bytes);
35+
ReplyDurationByCount->Collect((i64)d.MilliSeconds());
36+
ReplyDurationBySize->Collect((i64)d.MilliSeconds(), (i64)bytes);
37+
}
38+
39+
void OnFail(const ui64 bytes, const TDuration d) const {
40+
FailsCount->Add(1);
41+
FailBytes->Add(bytes);
42+
FailDurationByCount->Collect((i64)d.MilliSeconds());
43+
FailDurationBySize->Collect((i64)d.MilliSeconds(), (i64)bytes);
44+
}
45+
};
46+
47+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#include "remove_gc.h"
2+
#include "storage.h"
3+
4+
namespace NKikimr::NOlap::NBlobOperations {
5+
6+
TRemoveGCCounters::TRemoveGCCounters(const TConsumerCounters& owner)
7+
: TBase(owner, "RemoveGC")
8+
{
9+
RequestsCount = TBase::GetDeriviative("Requests/Count");
10+
RequestBytes = TBase::GetDeriviative("Requests/Bytes");
11+
12+
RepliesCount = TBase::GetDeriviative("Replies/Count");
13+
ReplyBytes = TBase::GetDeriviative("Replies/Bytes");
14+
15+
FailsCount = TBase::GetDeriviative("Fails/Count");
16+
FailBytes = TBase::GetDeriviative("Fails/Bytes");
17+
}
18+
19+
}
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
#pragma once
2+
#include <library/cpp/monlib/dynamic_counters/counters.h>
3+
#include <ydb/core/tx/columnshard/counters/common/owner.h>
4+
5+
namespace NKikimr::NOlap::NBlobOperations {
6+
7+
class TConsumerCounters;
8+
9+
class TRemoveGCCounters: public NColumnShard::TCommonCountersOwner {
10+
private:
11+
using TBase = NColumnShard::TCommonCountersOwner;
12+
NMonitoring::TDynamicCounters::TCounterPtr RequestsCount;
13+
NMonitoring::TDynamicCounters::TCounterPtr RequestBytes;
14+
15+
NMonitoring::TDynamicCounters::TCounterPtr RepliesCount;
16+
NMonitoring::TDynamicCounters::TCounterPtr ReplyBytes;
17+
18+
NMonitoring::TDynamicCounters::TCounterPtr FailsCount;
19+
NMonitoring::TDynamicCounters::TCounterPtr FailBytes;
20+
public:
21+
TRemoveGCCounters(const TConsumerCounters& owner);
22+
23+
void OnRequest(const ui64 bytes) const {
24+
RequestsCount->Add(1);
25+
RequestBytes->Add(bytes);
26+
}
27+
28+
void OnReply(const ui64 bytes) const {
29+
RepliesCount->Add(1);
30+
ReplyBytes->Add(bytes);
31+
}
32+
33+
void OnFail(const ui64 bytes) const {
34+
FailsCount->Add(1);
35+
FailBytes->Add(bytes);
36+
}
37+
};
38+
39+
}

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@ TConsumerCounters::TConsumerCounters(const TString& consumerId, const TStorageCo
2222
DeepSubGroup("Consumer", consumerId);
2323
ReadCounters = std::make_shared<TReadCounters>(*this);
2424
WriteCounters = std::make_shared<TWriteCounters>(*this);
25+
RemoveDeclareCounters = std::make_shared<TRemoveDeclareCounters>(*this);
26+
RemoveGCCounters = std::make_shared<TRemoveGCCounters>(*this);
2527
}
2628

2729
}

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
#pragma once
22
#include "read.h"
33
#include "write.h"
4+
#include "remove_declare.h"
5+
#include "remove_gc.h"
46
#include <ydb/core/tx/columnshard/counters/common/owner.h>
57
#include <library/cpp/monlib/dynamic_counters/counters.h>
68
#include <util/generic/hash.h>
@@ -14,6 +16,8 @@ class TConsumerCounters: public NColumnShard::TCommonCountersOwner {
1416
using TBase = NColumnShard::TCommonCountersOwner;
1517
YDB_READONLY_DEF(std::shared_ptr<TReadCounters>, ReadCounters);
1618
YDB_READONLY_DEF(std::shared_ptr<TWriteCounters>, WriteCounters);
19+
YDB_READONLY_DEF(std::shared_ptr<TRemoveDeclareCounters>, RemoveDeclareCounters);
20+
YDB_READONLY_DEF(std::shared_ptr<TRemoveGCCounters>, RemoveGCCounters);
1721
public:
1822
TConsumerCounters(const TString& consumerId, const TStorageCounters& parent);
1923
};

ydb/core/tx/columnshard/blobs_action/counters/ya.make

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ SRCS(
44
read.cpp
55
storage.cpp
66
write.cpp
7+
remove_declare.cpp
8+
remove_gc.cpp
79
)
810

911
PEERDIR(

ydb/core/tx/columnshard/blobs_action/tier/gc.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,12 @@ bool TGCTask::DoOnCompleteTxAfterCleaning(NColumnShard::TColumnShard& self, cons
2424
TActorContext::AsActorContext().Send(self.SelfId(), std::make_unique<NColumnShard::TEvPrivate::TEvGarbageCollectionFinished>(taskAction));
2525
return false;
2626
} else {
27+
for (auto&& i : DraftBlobIds) {
28+
Counters->OnReply(i.BlobSize());
29+
}
30+
for (auto&& i : DeleteBlobIds) {
31+
Counters->OnReply(i.BlobSize());
32+
}
2733
return true;
2834
}
2935
}

0 commit comments

Comments
 (0)