aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorauzhegov <auzhegov@yandex-team.com>2023-09-05 17:10:57 +0300
committerauzhegov <auzhegov@yandex-team.com>2023-09-05 18:50:39 +0300
commit21b05ad829eb3ac89b42e80bf6b619006d01aa29 (patch)
tree356002b39f624b24aa5d0360139e3e8878fe6564
parent0be9ebc9b35c51959e5285575e3a4459f7c65797 (diff)
downloadydb-21b05ad829eb3ac89b42e80bf6b619006d01aa29.tar.gz
Backoff timer for status tracker
-rw-r--r--ydb/core/blobstorage/dsproxy/CMakeLists.darwin-x86_64.txt1
-rw-r--r--ydb/core/blobstorage/dsproxy/CMakeLists.linux-aarch64.txt1
-rw-r--r--ydb/core/blobstorage/dsproxy/CMakeLists.linux-x86_64.txt1
-rw-r--r--ydb/core/blobstorage/dsproxy/CMakeLists.windows-x86_64.txt1
-rw-r--r--ydb/core/blobstorage/dsproxy/ya.make1
-rw-r--r--ydb/core/fq/libs/compute/ydb/CMakeLists.darwin-x86_64.txt1
-rw-r--r--ydb/core/fq/libs/compute/ydb/CMakeLists.linux-aarch64.txt1
-rw-r--r--ydb/core/fq/libs/compute/ydb/CMakeLists.linux-x86_64.txt1
-rw-r--r--ydb/core/fq/libs/compute/ydb/CMakeLists.windows-x86_64.txt1
-rw-r--r--ydb/core/fq/libs/compute/ydb/status_tracker_actor.cpp5
-rw-r--r--ydb/core/fq/libs/compute/ydb/ya.make1
-rw-r--r--ydb/core/keyvalue/CMakeLists.darwin-x86_64.txt2
-rw-r--r--ydb/core/keyvalue/CMakeLists.linux-aarch64.txt2
-rw-r--r--ydb/core/keyvalue/CMakeLists.linux-x86_64.txt2
-rw-r--r--ydb/core/keyvalue/CMakeLists.windows-x86_64.txt2
-rw-r--r--ydb/core/keyvalue/keyvalue_collector.cpp4
-rw-r--r--ydb/core/keyvalue/ya.make2
-rw-r--r--ydb/core/tx/columnshard/CMakeLists.darwin-x86_64.txt1
-rw-r--r--ydb/core/tx/columnshard/CMakeLists.linux-aarch64.txt1
-rw-r--r--ydb/core/tx/columnshard/CMakeLists.linux-x86_64.txt1
-rw-r--r--ydb/core/tx/columnshard/CMakeLists.windows-x86_64.txt1
-rw-r--r--ydb/core/tx/columnshard/blob_manager.h4
-rw-r--r--ydb/core/tx/columnshard/export_actor.cpp2
-rw-r--r--ydb/core/tx/columnshard/write_actor.cpp3
-rw-r--r--ydb/core/tx/columnshard/ya.make1
-rw-r--r--ydb/core/util/CMakeLists.darwin-x86_64.txt1
-rw-r--r--ydb/core/util/CMakeLists.linux-aarch64.txt1
-rw-r--r--ydb/core/util/CMakeLists.linux-x86_64.txt1
-rw-r--r--ydb/core/util/CMakeLists.windows-x86_64.txt1
-rw-r--r--ydb/core/util/backoff.cpp (renamed from ydb/core/blobstorage/dsproxy/blobstorage_backoff.cpp)2
-rw-r--r--ydb/core/util/backoff.h (renamed from ydb/core/blobstorage/dsproxy/blobstorage_backoff.h)0
-rw-r--r--ydb/core/util/ya.make1
32 files changed, 26 insertions, 24 deletions
diff --git a/ydb/core/blobstorage/dsproxy/CMakeLists.darwin-x86_64.txt b/ydb/core/blobstorage/dsproxy/CMakeLists.darwin-x86_64.txt
index bf864b1c6f..cc7101fad7 100644
--- a/ydb/core/blobstorage/dsproxy/CMakeLists.darwin-x86_64.txt
+++ b/ydb/core/blobstorage/dsproxy/CMakeLists.darwin-x86_64.txt
@@ -54,5 +54,4 @@ target_sources(core-blobstorage-dsproxy PRIVATE
${CMAKE_SOURCE_DIR}/ydb/core/blobstorage/dsproxy/dsproxy_status.cpp
${CMAKE_SOURCE_DIR}/ydb/core/blobstorage/dsproxy/dsproxy_strategy_base.cpp
${CMAKE_SOURCE_DIR}/ydb/core/blobstorage/dsproxy/group_sessions.cpp
- ${CMAKE_SOURCE_DIR}/ydb/core/blobstorage/dsproxy/blobstorage_backoff.cpp
)
diff --git a/ydb/core/blobstorage/dsproxy/CMakeLists.linux-aarch64.txt b/ydb/core/blobstorage/dsproxy/CMakeLists.linux-aarch64.txt
index cc15db0963..478beeec5a 100644
--- a/ydb/core/blobstorage/dsproxy/CMakeLists.linux-aarch64.txt
+++ b/ydb/core/blobstorage/dsproxy/CMakeLists.linux-aarch64.txt
@@ -55,5 +55,4 @@ target_sources(core-blobstorage-dsproxy PRIVATE
${CMAKE_SOURCE_DIR}/ydb/core/blobstorage/dsproxy/dsproxy_status.cpp
${CMAKE_SOURCE_DIR}/ydb/core/blobstorage/dsproxy/dsproxy_strategy_base.cpp
${CMAKE_SOURCE_DIR}/ydb/core/blobstorage/dsproxy/group_sessions.cpp
- ${CMAKE_SOURCE_DIR}/ydb/core/blobstorage/dsproxy/blobstorage_backoff.cpp
)
diff --git a/ydb/core/blobstorage/dsproxy/CMakeLists.linux-x86_64.txt b/ydb/core/blobstorage/dsproxy/CMakeLists.linux-x86_64.txt
index cc15db0963..478beeec5a 100644
--- a/ydb/core/blobstorage/dsproxy/CMakeLists.linux-x86_64.txt
+++ b/ydb/core/blobstorage/dsproxy/CMakeLists.linux-x86_64.txt
@@ -55,5 +55,4 @@ target_sources(core-blobstorage-dsproxy PRIVATE
${CMAKE_SOURCE_DIR}/ydb/core/blobstorage/dsproxy/dsproxy_status.cpp
${CMAKE_SOURCE_DIR}/ydb/core/blobstorage/dsproxy/dsproxy_strategy_base.cpp
${CMAKE_SOURCE_DIR}/ydb/core/blobstorage/dsproxy/group_sessions.cpp
- ${CMAKE_SOURCE_DIR}/ydb/core/blobstorage/dsproxy/blobstorage_backoff.cpp
)
diff --git a/ydb/core/blobstorage/dsproxy/CMakeLists.windows-x86_64.txt b/ydb/core/blobstorage/dsproxy/CMakeLists.windows-x86_64.txt
index bf864b1c6f..cc7101fad7 100644
--- a/ydb/core/blobstorage/dsproxy/CMakeLists.windows-x86_64.txt
+++ b/ydb/core/blobstorage/dsproxy/CMakeLists.windows-x86_64.txt
@@ -54,5 +54,4 @@ target_sources(core-blobstorage-dsproxy PRIVATE
${CMAKE_SOURCE_DIR}/ydb/core/blobstorage/dsproxy/dsproxy_status.cpp
${CMAKE_SOURCE_DIR}/ydb/core/blobstorage/dsproxy/dsproxy_strategy_base.cpp
${CMAKE_SOURCE_DIR}/ydb/core/blobstorage/dsproxy/group_sessions.cpp
- ${CMAKE_SOURCE_DIR}/ydb/core/blobstorage/dsproxy/blobstorage_backoff.cpp
)
diff --git a/ydb/core/blobstorage/dsproxy/ya.make b/ydb/core/blobstorage/dsproxy/ya.make
index b7a70dbbed..e084ea4569 100644
--- a/ydb/core/blobstorage/dsproxy/ya.make
+++ b/ydb/core/blobstorage/dsproxy/ya.make
@@ -55,7 +55,6 @@ SRCS(
group_sessions.cpp
group_sessions.h
log_acc.h
- blobstorage_backoff.cpp
)
PEERDIR(
diff --git a/ydb/core/fq/libs/compute/ydb/CMakeLists.darwin-x86_64.txt b/ydb/core/fq/libs/compute/ydb/CMakeLists.darwin-x86_64.txt
index a24ed2cd58..7f7b81b1a3 100644
--- a/ydb/core/fq/libs/compute/ydb/CMakeLists.darwin-x86_64.txt
+++ b/ydb/core/fq/libs/compute/ydb/CMakeLists.darwin-x86_64.txt
@@ -26,6 +26,7 @@ target_link_libraries(libs-compute-ydb PUBLIC
fq-libs-grpc
libs-quota_manager-proto
ydb-core-protos
+ ydb-core-util
library-db_pool-protos
yql-core-expr_nodes
yql-dq-expr_nodes
diff --git a/ydb/core/fq/libs/compute/ydb/CMakeLists.linux-aarch64.txt b/ydb/core/fq/libs/compute/ydb/CMakeLists.linux-aarch64.txt
index 2d7e44ad7f..6790ef3a97 100644
--- a/ydb/core/fq/libs/compute/ydb/CMakeLists.linux-aarch64.txt
+++ b/ydb/core/fq/libs/compute/ydb/CMakeLists.linux-aarch64.txt
@@ -27,6 +27,7 @@ target_link_libraries(libs-compute-ydb PUBLIC
fq-libs-grpc
libs-quota_manager-proto
ydb-core-protos
+ ydb-core-util
library-db_pool-protos
yql-core-expr_nodes
yql-dq-expr_nodes
diff --git a/ydb/core/fq/libs/compute/ydb/CMakeLists.linux-x86_64.txt b/ydb/core/fq/libs/compute/ydb/CMakeLists.linux-x86_64.txt
index 2d7e44ad7f..6790ef3a97 100644
--- a/ydb/core/fq/libs/compute/ydb/CMakeLists.linux-x86_64.txt
+++ b/ydb/core/fq/libs/compute/ydb/CMakeLists.linux-x86_64.txt
@@ -27,6 +27,7 @@ target_link_libraries(libs-compute-ydb PUBLIC
fq-libs-grpc
libs-quota_manager-proto
ydb-core-protos
+ ydb-core-util
library-db_pool-protos
yql-core-expr_nodes
yql-dq-expr_nodes
diff --git a/ydb/core/fq/libs/compute/ydb/CMakeLists.windows-x86_64.txt b/ydb/core/fq/libs/compute/ydb/CMakeLists.windows-x86_64.txt
index a24ed2cd58..7f7b81b1a3 100644
--- a/ydb/core/fq/libs/compute/ydb/CMakeLists.windows-x86_64.txt
+++ b/ydb/core/fq/libs/compute/ydb/CMakeLists.windows-x86_64.txt
@@ -26,6 +26,7 @@ target_link_libraries(libs-compute-ydb PUBLIC
fq-libs-grpc
libs-quota_manager-proto
ydb-core-protos
+ ydb-core-util
library-db_pool-protos
yql-core-expr_nodes
yql-dq-expr_nodes
diff --git a/ydb/core/fq/libs/compute/ydb/status_tracker_actor.cpp b/ydb/core/fq/libs/compute/ydb/status_tracker_actor.cpp
index bd7d9bddd4..ab5b8d0c63 100644
--- a/ydb/core/fq/libs/compute/ydb/status_tracker_actor.cpp
+++ b/ydb/core/fq/libs/compute/ydb/status_tracker_actor.cpp
@@ -7,6 +7,7 @@
#include <ydb/core/fq/libs/compute/common/utils.h>
#include <ydb/core/fq/libs/compute/ydb/events/events.h>
#include <ydb/core/fq/libs/ydb/ydb.h>
+#include <ydb/core/util/backoff.h>
#include <ydb/library/services/services.pb.h>
#include <ydb/library/yql/providers/common/metrics/service_counters.h>
@@ -73,6 +74,7 @@ public:
, Pinger(pinger)
, OperationId(operationId)
, Counters(GetStepCountersSubgroup())
+ , BackoffTimer(20, 1000)
{}
static constexpr char ActorName[] = "FQ_STATUS_TRACKER";
@@ -119,7 +121,7 @@ public:
switch (response.ExecStatus) {
case NYdb::NQuery::EExecStatus::Unspecified:
case NYdb::NQuery::EExecStatus::Starting:
- SendGetOperation(TDuration::Seconds(1));
+ SendGetOperation(TDuration::MilliSeconds(BackoffTimer.NextBackoffMs()));
break;
case NYdb::NQuery::EExecStatus::Aborted:
case NYdb::NQuery::EExecStatus::Canceled:
@@ -185,6 +187,7 @@ private:
NYdb::EStatus Status = NYdb::EStatus::SUCCESS;
NYdb::NQuery::EExecStatus ExecStatus = NYdb::NQuery::EExecStatus::Unspecified;
Ydb::TableStats::QueryStats QueryStats;
+ NKikimr::TBackoffTimer BackoffTimer;
};
std::unique_ptr<NActors::IActor> CreateStatusTrackerActor(const TRunActorParams& params,
diff --git a/ydb/core/fq/libs/compute/ydb/ya.make b/ydb/core/fq/libs/compute/ydb/ya.make
index e3c087329b..924c1deb4a 100644
--- a/ydb/core/fq/libs/compute/ydb/ya.make
+++ b/ydb/core/fq/libs/compute/ydb/ya.make
@@ -23,6 +23,7 @@ PEERDIR(
ydb/core/fq/libs/grpc
ydb/core/fq/libs/quota_manager/proto
ydb/core/protos
+ ydb/core/util
ydb/library/db_pool/protos
ydb/library/yql/core/expr_nodes
ydb/library/yql/dq/expr_nodes
diff --git a/ydb/core/keyvalue/CMakeLists.darwin-x86_64.txt b/ydb/core/keyvalue/CMakeLists.darwin-x86_64.txt
index fa3b2d5eef..a45378b767 100644
--- a/ydb/core/keyvalue/CMakeLists.darwin-x86_64.txt
+++ b/ydb/core/keyvalue/CMakeLists.darwin-x86_64.txt
@@ -17,12 +17,12 @@ target_link_libraries(ydb-core-keyvalue PUBLIC
cpp-actors-protos
ydb-core-base
core-blobstorage-base
- core-blobstorage-dsproxy
core-engine-minikql
core-keyvalue-protos
ydb-core-protos
ydb-core-tablet_flat
ydb-core-tx
+ ydb-core-util
public-lib-base
)
target_sources(ydb-core-keyvalue PRIVATE
diff --git a/ydb/core/keyvalue/CMakeLists.linux-aarch64.txt b/ydb/core/keyvalue/CMakeLists.linux-aarch64.txt
index a0be4d8631..cc8f83c125 100644
--- a/ydb/core/keyvalue/CMakeLists.linux-aarch64.txt
+++ b/ydb/core/keyvalue/CMakeLists.linux-aarch64.txt
@@ -18,12 +18,12 @@ target_link_libraries(ydb-core-keyvalue PUBLIC
cpp-actors-protos
ydb-core-base
core-blobstorage-base
- core-blobstorage-dsproxy
core-engine-minikql
core-keyvalue-protos
ydb-core-protos
ydb-core-tablet_flat
ydb-core-tx
+ ydb-core-util
public-lib-base
)
target_sources(ydb-core-keyvalue PRIVATE
diff --git a/ydb/core/keyvalue/CMakeLists.linux-x86_64.txt b/ydb/core/keyvalue/CMakeLists.linux-x86_64.txt
index a0be4d8631..cc8f83c125 100644
--- a/ydb/core/keyvalue/CMakeLists.linux-x86_64.txt
+++ b/ydb/core/keyvalue/CMakeLists.linux-x86_64.txt
@@ -18,12 +18,12 @@ target_link_libraries(ydb-core-keyvalue PUBLIC
cpp-actors-protos
ydb-core-base
core-blobstorage-base
- core-blobstorage-dsproxy
core-engine-minikql
core-keyvalue-protos
ydb-core-protos
ydb-core-tablet_flat
ydb-core-tx
+ ydb-core-util
public-lib-base
)
target_sources(ydb-core-keyvalue PRIVATE
diff --git a/ydb/core/keyvalue/CMakeLists.windows-x86_64.txt b/ydb/core/keyvalue/CMakeLists.windows-x86_64.txt
index fa3b2d5eef..a45378b767 100644
--- a/ydb/core/keyvalue/CMakeLists.windows-x86_64.txt
+++ b/ydb/core/keyvalue/CMakeLists.windows-x86_64.txt
@@ -17,12 +17,12 @@ target_link_libraries(ydb-core-keyvalue PUBLIC
cpp-actors-protos
ydb-core-base
core-blobstorage-base
- core-blobstorage-dsproxy
core-engine-minikql
core-keyvalue-protos
ydb-core-protos
ydb-core-tablet_flat
ydb-core-tx
+ ydb-core-util
public-lib-base
)
target_sources(ydb-core-keyvalue PRIVATE
diff --git a/ydb/core/keyvalue/keyvalue_collector.cpp b/ydb/core/keyvalue/keyvalue_collector.cpp
index eeb2585ff8..87726253e1 100644
--- a/ydb/core/keyvalue/keyvalue_collector.cpp
+++ b/ydb/core/keyvalue/keyvalue_collector.cpp
@@ -1,10 +1,10 @@
#include "keyvalue_flat_impl.h"
+#include <library/cpp/actors/core/actor_bootstrapped.h>
#include <ydb/core/base/counters.h>
-#include <ydb/core/blobstorage/dsproxy/blobstorage_backoff.h>
+#include <ydb/core/util/backoff.h>
#include <ydb/core/util/stlog.h>
-#include <library/cpp/actors/core/actor_bootstrapped.h>
namespace NKikimr {
namespace NKeyValue {
diff --git a/ydb/core/keyvalue/ya.make b/ydb/core/keyvalue/ya.make
index ebf7ff016c..e18ff99982 100644
--- a/ydb/core/keyvalue/ya.make
+++ b/ydb/core/keyvalue/ya.make
@@ -45,12 +45,12 @@ PEERDIR(
library/cpp/actors/protos
ydb/core/base
ydb/core/blobstorage/base
- ydb/core/blobstorage/dsproxy
ydb/core/engine/minikql
ydb/core/keyvalue/protos
ydb/core/protos
ydb/core/tablet_flat
ydb/core/tx
+ ydb/core/util
ydb/public/lib/base
)
diff --git a/ydb/core/tx/columnshard/CMakeLists.darwin-x86_64.txt b/ydb/core/tx/columnshard/CMakeLists.darwin-x86_64.txt
index 5a7cf7c09e..5229567c73 100644
--- a/ydb/core/tx/columnshard/CMakeLists.darwin-x86_64.txt
+++ b/ydb/core/tx/columnshard/CMakeLists.darwin-x86_64.txt
@@ -39,7 +39,6 @@ target_link_libraries(core-tx-columnshard PUBLIC
cpp-actors-core
ydb-core-actorlib_impl
ydb-core-base
- core-blobstorage-dsproxy
ydb-core-control
ydb-core-formats
ydb-core-kqp
diff --git a/ydb/core/tx/columnshard/CMakeLists.linux-aarch64.txt b/ydb/core/tx/columnshard/CMakeLists.linux-aarch64.txt
index a059a18ad9..2dc1b550cc 100644
--- a/ydb/core/tx/columnshard/CMakeLists.linux-aarch64.txt
+++ b/ydb/core/tx/columnshard/CMakeLists.linux-aarch64.txt
@@ -40,7 +40,6 @@ target_link_libraries(core-tx-columnshard PUBLIC
cpp-actors-core
ydb-core-actorlib_impl
ydb-core-base
- core-blobstorage-dsproxy
ydb-core-control
ydb-core-formats
ydb-core-kqp
diff --git a/ydb/core/tx/columnshard/CMakeLists.linux-x86_64.txt b/ydb/core/tx/columnshard/CMakeLists.linux-x86_64.txt
index a059a18ad9..2dc1b550cc 100644
--- a/ydb/core/tx/columnshard/CMakeLists.linux-x86_64.txt
+++ b/ydb/core/tx/columnshard/CMakeLists.linux-x86_64.txt
@@ -40,7 +40,6 @@ target_link_libraries(core-tx-columnshard PUBLIC
cpp-actors-core
ydb-core-actorlib_impl
ydb-core-base
- core-blobstorage-dsproxy
ydb-core-control
ydb-core-formats
ydb-core-kqp
diff --git a/ydb/core/tx/columnshard/CMakeLists.windows-x86_64.txt b/ydb/core/tx/columnshard/CMakeLists.windows-x86_64.txt
index 5a7cf7c09e..5229567c73 100644
--- a/ydb/core/tx/columnshard/CMakeLists.windows-x86_64.txt
+++ b/ydb/core/tx/columnshard/CMakeLists.windows-x86_64.txt
@@ -39,7 +39,6 @@ target_link_libraries(core-tx-columnshard PUBLIC
cpp-actors-core
ydb-core-actorlib_impl
ydb-core-base
- core-blobstorage-dsproxy
ydb-core-control
ydb-core-formats
ydb-core-kqp
diff --git a/ydb/core/tx/columnshard/blob_manager.h b/ydb/core/tx/columnshard/blob_manager.h
index 00c77bd470..d537e351eb 100644
--- a/ydb/core/tx/columnshard/blob_manager.h
+++ b/ydb/core/tx/columnshard/blob_manager.h
@@ -3,9 +3,9 @@
#include "blob.h"
#include "counters/blobs_manager.h"
-#include <ydb/core/tx/columnshard/inflight_request_tracker.h>
#include <ydb/core/tablet_flat/flat_executor.h>
-#include <ydb/core/blobstorage/dsproxy/blobstorage_backoff.h>
+#include <ydb/core/tx/columnshard/inflight_request_tracker.h>
+#include <ydb/core/util/backoff.h>
#include <util/generic/string.h>
diff --git a/ydb/core/tx/columnshard/export_actor.cpp b/ydb/core/tx/columnshard/export_actor.cpp
index 61503bb003..21b2333bd0 100644
--- a/ydb/core/tx/columnshard/export_actor.cpp
+++ b/ydb/core/tx/columnshard/export_actor.cpp
@@ -1,8 +1,8 @@
#include "columnshard_impl.h"
#include "blob_cache.h"
-#include <ydb/core/blobstorage/dsproxy/blobstorage_backoff.h>
#include <library/cpp/actors/core/actor_bootstrapped.h>
+#include <ydb/core/util/backoff.h>
namespace NKikimr::NColumnShard {
namespace {
diff --git a/ydb/core/tx/columnshard/write_actor.cpp b/ydb/core/tx/columnshard/write_actor.cpp
index ff91a654d9..636db1b338 100644
--- a/ydb/core/tx/columnshard/write_actor.cpp
+++ b/ydb/core/tx/columnshard/write_actor.cpp
@@ -1,9 +1,8 @@
#include "columnshard_impl.h"
#include "columnshard_private_events.h"
-#include <ydb/core/blobstorage/dsproxy/blobstorage_backoff.h>
#include <library/cpp/actors/core/actor_bootstrapped.h>
-
+#include <ydb/core/util/backoff.h>
namespace NKikimr::NColumnShard {
diff --git a/ydb/core/tx/columnshard/ya.make b/ydb/core/tx/columnshard/ya.make
index c77549392c..8e19e05790 100644
--- a/ydb/core/tx/columnshard/ya.make
+++ b/ydb/core/tx/columnshard/ya.make
@@ -47,7 +47,6 @@ PEERDIR(
library/cpp/actors/core
ydb/core/actorlib_impl
ydb/core/base
- ydb/core/blobstorage/dsproxy
ydb/core/control
ydb/core/formats
ydb/core/kqp
diff --git a/ydb/core/util/CMakeLists.darwin-x86_64.txt b/ydb/core/util/CMakeLists.darwin-x86_64.txt
index 78c21f0880..ee923bf1f6 100644
--- a/ydb/core/util/CMakeLists.darwin-x86_64.txt
+++ b/ydb/core/util/CMakeLists.darwin-x86_64.txt
@@ -30,6 +30,7 @@ target_link_libraries(ydb-core-util PUBLIC
)
target_sources(ydb-core-util PRIVATE
${CMAKE_SOURCE_DIR}/ydb/core/util/address_classifier.cpp
+ ${CMAKE_SOURCE_DIR}/ydb/core/util/backoff.cpp
${CMAKE_SOURCE_DIR}/ydb/core/util/cache.cpp
${CMAKE_SOURCE_DIR}/ydb/core/util/concurrent_rw_hash.cpp
${CMAKE_SOURCE_DIR}/ydb/core/util/console.cpp
diff --git a/ydb/core/util/CMakeLists.linux-aarch64.txt b/ydb/core/util/CMakeLists.linux-aarch64.txt
index 073ab3b33a..1d02cee83d 100644
--- a/ydb/core/util/CMakeLists.linux-aarch64.txt
+++ b/ydb/core/util/CMakeLists.linux-aarch64.txt
@@ -31,6 +31,7 @@ target_link_libraries(ydb-core-util PUBLIC
)
target_sources(ydb-core-util PRIVATE
${CMAKE_SOURCE_DIR}/ydb/core/util/address_classifier.cpp
+ ${CMAKE_SOURCE_DIR}/ydb/core/util/backoff.cpp
${CMAKE_SOURCE_DIR}/ydb/core/util/cache.cpp
${CMAKE_SOURCE_DIR}/ydb/core/util/concurrent_rw_hash.cpp
${CMAKE_SOURCE_DIR}/ydb/core/util/console.cpp
diff --git a/ydb/core/util/CMakeLists.linux-x86_64.txt b/ydb/core/util/CMakeLists.linux-x86_64.txt
index 073ab3b33a..1d02cee83d 100644
--- a/ydb/core/util/CMakeLists.linux-x86_64.txt
+++ b/ydb/core/util/CMakeLists.linux-x86_64.txt
@@ -31,6 +31,7 @@ target_link_libraries(ydb-core-util PUBLIC
)
target_sources(ydb-core-util PRIVATE
${CMAKE_SOURCE_DIR}/ydb/core/util/address_classifier.cpp
+ ${CMAKE_SOURCE_DIR}/ydb/core/util/backoff.cpp
${CMAKE_SOURCE_DIR}/ydb/core/util/cache.cpp
${CMAKE_SOURCE_DIR}/ydb/core/util/concurrent_rw_hash.cpp
${CMAKE_SOURCE_DIR}/ydb/core/util/console.cpp
diff --git a/ydb/core/util/CMakeLists.windows-x86_64.txt b/ydb/core/util/CMakeLists.windows-x86_64.txt
index 78c21f0880..ee923bf1f6 100644
--- a/ydb/core/util/CMakeLists.windows-x86_64.txt
+++ b/ydb/core/util/CMakeLists.windows-x86_64.txt
@@ -30,6 +30,7 @@ target_link_libraries(ydb-core-util PUBLIC
)
target_sources(ydb-core-util PRIVATE
${CMAKE_SOURCE_DIR}/ydb/core/util/address_classifier.cpp
+ ${CMAKE_SOURCE_DIR}/ydb/core/util/backoff.cpp
${CMAKE_SOURCE_DIR}/ydb/core/util/cache.cpp
${CMAKE_SOURCE_DIR}/ydb/core/util/concurrent_rw_hash.cpp
${CMAKE_SOURCE_DIR}/ydb/core/util/console.cpp
diff --git a/ydb/core/blobstorage/dsproxy/blobstorage_backoff.cpp b/ydb/core/util/backoff.cpp
index 0fe376111f..463ed31274 100644
--- a/ydb/core/blobstorage/dsproxy/blobstorage_backoff.cpp
+++ b/ydb/core/util/backoff.cpp
@@ -1,4 +1,4 @@
-#include "blobstorage_backoff.h"
+#include "backoff.h"
#include <util/generic/utility.h>
#include <util/system/yassert.h>
diff --git a/ydb/core/blobstorage/dsproxy/blobstorage_backoff.h b/ydb/core/util/backoff.h
index 6701a12e2b..6701a12e2b 100644
--- a/ydb/core/blobstorage/dsproxy/blobstorage_backoff.h
+++ b/ydb/core/util/backoff.h
diff --git a/ydb/core/util/ya.make b/ydb/core/util/ya.make
index 1834165ee9..be132a98f7 100644
--- a/ydb/core/util/ya.make
+++ b/ydb/core/util/ya.make
@@ -2,6 +2,7 @@ LIBRARY()
SRCS(
address_classifier.cpp
+ backoff.cpp
cache.cpp
cache.h
cache_cache.h