From 3c535d352583079e94e1260b2093254422cc76b8 Mon Sep 17 00:00:00 2001 From: ivanmorozov333 Date: Wed, 22 Jan 2025 19:31:27 +0300 Subject: [PATCH] fix tsan alerts (#13722) --- .../engines/reader/common_reader/iterator/fetching.cpp | 2 +- .../engines/reader/common_reader/iterator/fetching.h | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/ydb/core/tx/columnshard/engines/reader/common_reader/iterator/fetching.cpp b/ydb/core/tx/columnshard/engines/reader/common_reader/iterator/fetching.cpp index f22fa8683677..edfcf0c69660 100644 --- a/ydb/core/tx/columnshard/engines/reader/common_reader/iterator/fetching.cpp +++ b/ydb/core/tx/columnshard/engines/reader/common_reader/iterator/fetching.cpp @@ -121,7 +121,7 @@ void TFetchingScript::Allocation(const std::set& entityIds, const EStageFe TString IFetchingStep::DebugString() const { TStringBuilder sb; sb << "name=" << Name << ";duration=" << GetSumDuration() << ";" - << "size=" << 1e-9 * SumSize << ";details={" << DoDebugString() << "};"; + << "size=" << 1e-9 * GetSumSize() << ";details={" << DoDebugString() << "};"; return sb; } diff --git a/ydb/core/tx/columnshard/engines/reader/common_reader/iterator/fetching.h b/ydb/core/tx/columnshard/engines/reader/common_reader/iterator/fetching.h index 9e284e2c5a70..de64e8664583 100644 --- a/ydb/core/tx/columnshard/engines/reader/common_reader/iterator/fetching.h +++ b/ydb/core/tx/columnshard/engines/reader/common_reader/iterator/fetching.h @@ -68,7 +68,7 @@ class IFetchingStep: public TNonCopyable { private: YDB_READONLY_DEF(TString, Name); TAtomicCounter SumDuration; - YDB_READONLY(ui64, SumSize, 0); + TAtomicCounter SumSize; TFetchingStepSignals Signals; protected: @@ -82,12 +82,16 @@ class IFetchingStep: public TNonCopyable { return TDuration::MicroSeconds(SumDuration.Val()); } + ui64 GetSumSize() const { + return SumSize.Val(); + } + void AddDuration(const TDuration d) { SumDuration.Add(d.MicroSeconds()); Signals.AddDuration(d); } void AddDataSize(const ui64 size) { - SumSize += size; + SumSize.Add(size); Signals.AddBytes(size); }