aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorlberserq <berserq0123@gmail.com>2025-03-01 20:53:41 +0300
committerGitHub <noreply@github.com>2025-03-01 20:53:41 +0300
commit22b98a26c01070ae980dc5477323d8d4152aabbc (patch)
tree9b69a044b806d9e7c6215e87e55bc7b509d00864
parenta697f06b0485f40a82467c6164c3cb878ed1f282 (diff)
downloadydb-22b98a26c01070ae980dc5477323d8d4152aabbc.tar.gz
Split ydb/core/control circular dependencies with ydb/core/base (#14972), KIKIMR-22738
Co-authored-by: Kamil Khamitov <kkhamitov@yandex-team.ru>
-rw-r--r--ydb/core/base/appdata.cpp2
-rw-r--r--ydb/core/base/appdata.h2
-rw-r--r--ydb/core/blobstorage/common/immediate_control_defaults.h2
-rw-r--r--ydb/core/blobstorage/dsproxy/ya.make2
-rw-r--r--ydb/core/blobstorage/nodewarden/ya.make2
-rw-r--r--ydb/core/blobstorage/pdisk/blobstorage_pdisk_actorsystem_creator.h2
-rw-r--r--ydb/core/blobstorage/pdisk/blobstorage_pdisk_blockdevice.h2
-rw-r--r--ydb/core/blobstorage/pdisk/blobstorage_pdisk_blockdevice_ut.cpp2
-rw-r--r--ydb/core/blobstorage/pdisk/blobstorage_pdisk_config.h2
-rw-r--r--ydb/core/blobstorage/pdisk/blobstorage_pdisk_impl.cpp2
-rw-r--r--ydb/core/blobstorage/pdisk/blobstorage_pdisk_impl.h4
-rw-r--r--ydb/core/blobstorage/pdisk/ya.make2
-rw-r--r--ydb/core/blobstorage/vdisk/common/vdisk_config.h2
-rw-r--r--ydb/core/blobstorage/vdisk/common/vdisk_performance_params.h2
-rw-r--r--ydb/core/blobstorage/vdisk/skeleton/blobstorage_skeleton.cpp2
-rw-r--r--ydb/core/blobstorage/vdisk/skeleton/skeleton_overload_handler.cpp2
-rw-r--r--ydb/core/blobstorage/vdisk/skeleton/skeleton_overload_handler.h2
-rw-r--r--ydb/core/cms/console/immediate_controls_configurator.h2
-rw-r--r--ydb/core/cms/console/ya.make2
-rw-r--r--ydb/core/control/immediate_control_board_actor_ut.cpp3
-rw-r--r--ydb/core/control/immediate_control_board_impl.h31
-rw-r--r--ydb/core/control/lib/defs.h2
-rw-r--r--ydb/core/control/lib/immediate_control_board_control.cpp (renamed from ydb/core/control/immediate_control_board_control.cpp)0
-rw-r--r--ydb/core/control/lib/immediate_control_board_control.h (renamed from ydb/core/control/immediate_control_board_control.h)0
-rw-r--r--ydb/core/control/lib/immediate_control_board_impl.cpp (renamed from ydb/core/control/immediate_control_board_impl.cpp)0
-rw-r--r--ydb/core/control/lib/immediate_control_board_impl.h31
-rw-r--r--ydb/core/control/lib/immediate_control_board_ut.cpp (renamed from ydb/core/control/immediate_control_board_ut.cpp)0
-rw-r--r--ydb/core/control/lib/immediate_control_board_wrapper.h (renamed from ydb/core/control/immediate_control_board_wrapper.h)0
-rw-r--r--ydb/core/control/lib/ut/ya.make17
-rw-r--r--ydb/core/control/lib/ya.make24
-rw-r--r--ydb/core/control/ut/ya.make1
-rw-r--r--ydb/core/control/ya.make10
-rw-r--r--ydb/core/grpc_services/grpc_helper.h2
-rw-r--r--ydb/core/grpc_services/ya.make2
-rw-r--r--ydb/core/kqp/common/control.cpp2
-rw-r--r--ydb/core/kqp/common/control.h2
-rw-r--r--ydb/core/kqp/gateway/kqp_gateway.h2
-rw-r--r--ydb/core/kqp/session_actor/kqp_session_actor.h2
-rw-r--r--ydb/core/load_test/keyvalue_write.cpp2
-rw-r--r--ydb/core/load_test/pdisk_log.cpp2
-rw-r--r--ydb/core/load_test/pdisk_read.cpp4
-rw-r--r--ydb/core/load_test/pdisk_write.cpp2
-rw-r--r--ydb/core/load_test/ya.make2
-rw-r--r--ydb/core/mon_alloc/monitor.h2
-rw-r--r--ydb/core/mon_alloc/ya.make2
-rw-r--r--ydb/core/tablet_flat/flat_executor.cpp2
-rw-r--r--ydb/core/tablet_flat/flat_executor.h2
-rw-r--r--ydb/core/tablet_flat/ya.make2
-rw-r--r--ydb/core/testlib/actors/test_runtime.h2
-rw-r--r--ydb/core/testlib/basics/ya.make1
-rw-r--r--ydb/core/tx/columnshard/defs.h2
-rw-r--r--ydb/core/tx/columnshard/ya.make2
-rw-r--r--ydb/core/tx/coordinator/coordinator_impl.cpp2
-rw-r--r--ydb/core/tx/coordinator/coordinator_impl.h2
-rw-r--r--ydb/core/tx/schemeshard/schemeshard_info_types.h2
-rw-r--r--ydb/core/tx/tx_proxy/proxy.h2
-rw-r--r--ydb/core/util/actorsys_test/single_thread_ic_mock.cpp2
-rw-r--r--ydb/core/util/actorsys_test/testactorsys.cpp2
58 files changed, 125 insertions, 87 deletions
diff --git a/ydb/core/base/appdata.cpp b/ydb/core/base/appdata.cpp
index 59e971ee6b..7f2cf4a16c 100644
--- a/ydb/core/base/appdata.cpp
+++ b/ydb/core/base/appdata.cpp
@@ -10,7 +10,7 @@
#include "resource_profile.h"
#include "event_filter.h"
-#include <ydb/core/control/immediate_control_board_impl.h>
+#include <ydb/core/control/lib/immediate_control_board_impl.h>
#include <ydb/core/grpc_services/grpc_helper.h>
#include <ydb/core/jaeger_tracing/sampling_throttling_configurator.h>
#include <ydb/core/tablet_flat/shared_cache_pages.h>
diff --git a/ydb/core/base/appdata.h b/ydb/core/base/appdata.h
index 55514033cf..9f3aa77d7f 100644
--- a/ydb/core/base/appdata.h
+++ b/ydb/core/base/appdata.h
@@ -28,7 +28,7 @@
#include "resource_profile.h"
#include "event_filter.h"
-#include <ydb/core/control/immediate_control_board_impl.h>
+#include <ydb/core/control/lib/immediate_control_board_impl.h>
#include <ydb/library/pdisk_io/aio.h>
#include <ydb/core/base/event_filter.h>
diff --git a/ydb/core/blobstorage/common/immediate_control_defaults.h b/ydb/core/blobstorage/common/immediate_control_defaults.h
index 6161e95781..0fce80223a 100644
--- a/ydb/core/blobstorage/common/immediate_control_defaults.h
+++ b/ydb/core/blobstorage/common/immediate_control_defaults.h
@@ -1,7 +1,7 @@
#pragma once
#include "defs.h"
-#include <ydb/core/control/immediate_control_board_wrapper.h>
+#include <ydb/core/control/lib/immediate_control_board_wrapper.h>
namespace NKikimr {
diff --git a/ydb/core/blobstorage/dsproxy/ya.make b/ydb/core/blobstorage/dsproxy/ya.make
index 46938b6b95..3ed67cf992 100644
--- a/ydb/core/blobstorage/dsproxy/ya.make
+++ b/ydb/core/blobstorage/dsproxy/ya.make
@@ -68,7 +68,7 @@ PEERDIR(
ydb/core/blobstorage/groupinfo
ydb/core/blobstorage/storagepoolmon
ydb/core/blobstorage/vdisk/ingress
- ydb/core/control
+ ydb/core/control/lib
ydb/core/util
)
diff --git a/ydb/core/blobstorage/nodewarden/ya.make b/ydb/core/blobstorage/nodewarden/ya.make
index 9647b50e6f..d06ce9a82f 100644
--- a/ydb/core/blobstorage/nodewarden/ya.make
+++ b/ydb/core/blobstorage/nodewarden/ya.make
@@ -41,7 +41,7 @@ PEERDIR(
ydb/core/blobstorage/crypto
ydb/core/blobstorage/groupinfo
ydb/core/blobstorage/pdisk
- ydb/core/control
+ ydb/core/control/lib
ydb/library/pdisk_io
ydb/library/yaml_config
ydb/core/util/actorsys_test
diff --git a/ydb/core/blobstorage/pdisk/blobstorage_pdisk_actorsystem_creator.h b/ydb/core/blobstorage/pdisk/blobstorage_pdisk_actorsystem_creator.h
index 7e19682ebc..60476cbff7 100644
--- a/ydb/core/blobstorage/pdisk/blobstorage_pdisk_actorsystem_creator.h
+++ b/ydb/core/blobstorage/pdisk/blobstorage_pdisk_actorsystem_creator.h
@@ -10,7 +10,7 @@
#include <ydb/library/actors/core/executor_pool_basic.h>
#include <ydb/library/actors/core/mon.h>
#include <ydb/library/actors/core/scheduler_basic.h>
-#include <ydb/core/control/immediate_control_board_impl.h>
+#include <ydb/core/control/lib/immediate_control_board_impl.h>
#include <ydb/core/grpc_services/grpc_helper.h>
#include <ydb/core/protos/config.pb.h>
#include <ydb/core/protos/netclassifier.pb.h>
diff --git a/ydb/core/blobstorage/pdisk/blobstorage_pdisk_blockdevice.h b/ydb/core/blobstorage/pdisk/blobstorage_pdisk_blockdevice.h
index c201bc4ad8..33c66bd4d7 100644
--- a/ydb/core/blobstorage/pdisk/blobstorage_pdisk_blockdevice.h
+++ b/ydb/core/blobstorage/pdisk/blobstorage_pdisk_blockdevice.h
@@ -6,7 +6,7 @@
#include "blobstorage_pdisk_util_devicemode.h"
#include <ydb/core/base/blobstorage.h>
-#include <ydb/core/control/immediate_control_board_wrapper.h>
+#include <ydb/core/control/lib/immediate_control_board_wrapper.h>
#include <ydb/library/pdisk_io/aio.h>
#include <ydb/library/pdisk_io/drivedata.h>
#include <ydb/library/pdisk_io/sector_map.h>
diff --git a/ydb/core/blobstorage/pdisk/blobstorage_pdisk_blockdevice_ut.cpp b/ydb/core/blobstorage/pdisk/blobstorage_pdisk_blockdevice_ut.cpp
index 19b08674fc..2c1d531a2a 100644
--- a/ydb/core/blobstorage/pdisk/blobstorage_pdisk_blockdevice_ut.cpp
+++ b/ydb/core/blobstorage/pdisk/blobstorage_pdisk_blockdevice_ut.cpp
@@ -8,7 +8,7 @@
#include "blobstorage_pdisk_ut_defs.h"
#include "blobstorage_pdisk_ut_helpers.h"
-#include <ydb/core/control/immediate_control_board_wrapper.h>
+#include <ydb/core/control/lib/immediate_control_board_wrapper.h>
#include <ydb/core/util/random.h>
#include <library/cpp/deprecated/atomic/atomic.h>
diff --git a/ydb/core/blobstorage/pdisk/blobstorage_pdisk_config.h b/ydb/core/blobstorage/pdisk/blobstorage_pdisk_config.h
index 29e4b3000a..f9844b2c23 100644
--- a/ydb/core/blobstorage/pdisk/blobstorage_pdisk_config.h
+++ b/ydb/core/blobstorage/pdisk/blobstorage_pdisk_config.h
@@ -3,7 +3,7 @@
#include <ydb/core/base/blobstorage.h>
#include <ydb/core/blobstorage/base/vdisk_priorities.h>
-#include <ydb/core/control/immediate_control_board_wrapper.h>
+#include <ydb/core/control/lib/immediate_control_board_wrapper.h>
#include <ydb/core/protos/blobstorage_base.pb.h>
#include <ydb/core/protos/blobstorage_config.pb.h>
#include <ydb/core/protos/blobstorage_disk.pb.h>
diff --git a/ydb/core/blobstorage/pdisk/blobstorage_pdisk_impl.cpp b/ydb/core/blobstorage/pdisk/blobstorage_pdisk_impl.cpp
index 4e2d903316..29db8aa30d 100644
--- a/ydb/core/blobstorage/pdisk/blobstorage_pdisk_impl.cpp
+++ b/ydb/core/blobstorage/pdisk/blobstorage_pdisk_impl.cpp
@@ -6,7 +6,7 @@
#include "blobstorage_pdisk_request_id.h"
#include <ydb/core/blobstorage/base/blobstorage_events.h>
-#include <ydb/core/control/immediate_control_board_impl.h>
+#include <ydb/core/control/lib/immediate_control_board_impl.h>
#include <ydb/core/protos/blobstorage.pb.h>
#include <ydb/core/blobstorage/crypto/secured_block.h>
#include <ydb/library/schlab/schine/job_kind.h>
diff --git a/ydb/core/blobstorage/pdisk/blobstorage_pdisk_impl.h b/ydb/core/blobstorage/pdisk/blobstorage_pdisk_impl.h
index dfef1f2207..455ec8cd08 100644
--- a/ydb/core/blobstorage/pdisk/blobstorage_pdisk_impl.h
+++ b/ydb/core/blobstorage/pdisk/blobstorage_pdisk_impl.h
@@ -20,11 +20,11 @@
#include "blobstorage_pdisk_writer.h"
#include "blobstorage_pdisk_impl_metadata.h"
-#include <ydb/core/control/immediate_control_board_impl.h>
+#include <ydb/core/control/lib/immediate_control_board_impl.h>
+#include <ydb/core/control/lib/immediate_control_board_wrapper.h>
#include <ydb/core/base/resource_profile.h>
#include <ydb/core/node_whiteboard/node_whiteboard.h>
#include <ydb/core/blobstorage/lwtrace_probes/blobstorage_probes.h>
-#include <ydb/core/control/immediate_control_board_wrapper.h>
#include <ydb/core/driver_lib/version/version.h>
#include <ydb/library/schlab/schine/scheduler.h>
#include <ydb/library/schlab/schine/job_kind.h>
diff --git a/ydb/core/blobstorage/pdisk/ya.make b/ydb/core/blobstorage/pdisk/ya.make
index e9bf4478f0..437e48374c 100644
--- a/ydb/core/blobstorage/pdisk/ya.make
+++ b/ydb/core/blobstorage/pdisk/ya.make
@@ -29,7 +29,7 @@ PEERDIR(
ydb/core/blobstorage/crypto
ydb/core/blobstorage/groupinfo
ydb/core/blobstorage/lwtrace_probes
- ydb/core/control
+ ydb/core/control/lib
ydb/core/driver_lib/version
ydb/core/protos
ydb/core/util
diff --git a/ydb/core/blobstorage/vdisk/common/vdisk_config.h b/ydb/core/blobstorage/vdisk/common/vdisk_config.h
index 6f3ad6b5f2..bed182f5c0 100644
--- a/ydb/core/blobstorage/vdisk/common/vdisk_config.h
+++ b/ydb/core/blobstorage/vdisk/common/vdisk_config.h
@@ -8,7 +8,7 @@
#include <ydb/core/base/blobstorage.h>
#include <ydb/core/protos/blobstorage_vdisk_config.pb.h>
#include <ydb/core/protos/feature_flags.pb.h>
-#include <ydb/core/control/immediate_control_board_impl.h>
+#include <ydb/core/control/lib/immediate_control_board_impl.h>
#include <ydb/core/base/feature_flags.h>
namespace NKikimr {
diff --git a/ydb/core/blobstorage/vdisk/common/vdisk_performance_params.h b/ydb/core/blobstorage/vdisk/common/vdisk_performance_params.h
index 90a0092706..1c36de0a8f 100644
--- a/ydb/core/blobstorage/vdisk/common/vdisk_performance_params.h
+++ b/ydb/core/blobstorage/vdisk/common/vdisk_performance_params.h
@@ -5,7 +5,7 @@
#include "defs.h"
#include <ydb/library/pdisk_io/device_type.h>
-#include <ydb/core/control/immediate_control_board_wrapper.h>
+#include <ydb/core/control/lib/immediate_control_board_wrapper.h>
namespace NKikimr {
diff --git a/ydb/core/blobstorage/vdisk/skeleton/blobstorage_skeleton.cpp b/ydb/core/blobstorage/vdisk/skeleton/blobstorage_skeleton.cpp
index 55a25a5490..1250aa628d 100644
--- a/ydb/core/blobstorage/vdisk/skeleton/blobstorage_skeleton.cpp
+++ b/ydb/core/blobstorage/vdisk/skeleton/blobstorage_skeleton.cpp
@@ -48,7 +48,7 @@
#include <ydb/core/blobstorage/pdisk/blobstorage_pdisk_internal_interface.h>
#include <ydb/core/cms/console/configs_dispatcher.h>
#include <ydb/core/cms/console/console.h>
-#include <ydb/core/control/immediate_control_board_impl.h>
+#include <ydb/core/control/lib/immediate_control_board_impl.h>
#include <ydb/core/protos/node_whiteboard.pb.h>
#include <ydb/core/node_whiteboard/node_whiteboard.h>
#include <library/cpp/monlib/service/pages/templates.h>
diff --git a/ydb/core/blobstorage/vdisk/skeleton/skeleton_overload_handler.cpp b/ydb/core/blobstorage/vdisk/skeleton/skeleton_overload_handler.cpp
index 124a2bb1fe..7f94c2a363 100644
--- a/ydb/core/blobstorage/vdisk/skeleton/skeleton_overload_handler.cpp
+++ b/ydb/core/blobstorage/vdisk/skeleton/skeleton_overload_handler.cpp
@@ -2,7 +2,7 @@
#include <ydb/core/blobstorage/vdisk/common/vdisk_pdiskctx.h>
#include <ydb/core/blobstorage/vdisk/hulldb/base/blobstorage_hullsatisfactionrank.h>
#include <ydb/core/blobstorage/vdisk/hullop/blobstorage_hull.h>
-#include <ydb/core/control/immediate_control_board_impl.h>
+#include <ydb/core/control/lib/immediate_control_board_impl.h>
#include <ydb/core/util/queue_inplace.h>
#include <ydb/library/wilson_ids/wilson.h>
#include <ydb/library/actors/wilson/wilson_span.h>
diff --git a/ydb/core/blobstorage/vdisk/skeleton/skeleton_overload_handler.h b/ydb/core/blobstorage/vdisk/skeleton/skeleton_overload_handler.h
index 03a12dbea7..01985e48ea 100644
--- a/ydb/core/blobstorage/vdisk/skeleton/skeleton_overload_handler.h
+++ b/ydb/core/blobstorage/vdisk/skeleton/skeleton_overload_handler.h
@@ -4,7 +4,7 @@
#include <ydb/core/blobstorage/vdisk/common/vdisk_pdiskctx.h>
#include <ydb/core/blobstorage/vdisk/syncer/blobstorage_syncer_localwriter.h>
#include <ydb/core/blobstorage/vdisk/anubis_osiris/blobstorage_anubis_osiris.h>
-#include <ydb/core/control/immediate_control_board_impl.h>
+#include <ydb/core/control/lib/immediate_control_board_impl.h>
namespace NKikimr {
diff --git a/ydb/core/cms/console/immediate_controls_configurator.h b/ydb/core/cms/console/immediate_controls_configurator.h
index e0af92676c..beca2f23cd 100644
--- a/ydb/core/cms/console/immediate_controls_configurator.h
+++ b/ydb/core/cms/console/immediate_controls_configurator.h
@@ -1,7 +1,7 @@
#pragma once
#include "defs.h"
-#include <ydb/core/control/immediate_control_board_impl.h>
+#include <ydb/core/control/lib/immediate_control_board_impl.h>
#include <util/generic/ptr.h>
diff --git a/ydb/core/cms/console/ya.make b/ydb/core/cms/console/ya.make
index 98c0cafe1a..987783787c 100644
--- a/ydb/core/cms/console/ya.make
+++ b/ydb/core/cms/console/ya.make
@@ -86,7 +86,7 @@ PEERDIR(
ydb/core/blobstorage/groupinfo
ydb/core/cms/console/validators
ydb/core/config/init
- ydb/core/control
+ ydb/core/control/lib
ydb/core/engine/minikql
ydb/core/mind
ydb/core/node_whiteboard
diff --git a/ydb/core/control/immediate_control_board_actor_ut.cpp b/ydb/core/control/immediate_control_board_actor_ut.cpp
index 6fbf673d1a..37350f915c 100644
--- a/ydb/core/control/immediate_control_board_actor_ut.cpp
+++ b/ydb/core/control/immediate_control_board_actor_ut.cpp
@@ -1,6 +1,5 @@
#include "defs.h"
#include "immediate_control_board_actor.h"
-#include "immediate_control_board_wrapper.h"
#include <ydb/library/actors/interconnect/interconnect.h>
#include <ydb/core/mon/mon.h>
@@ -8,6 +7,8 @@
#include <ydb/core/base/counters.h>
#include <ydb/core/node_whiteboard/node_whiteboard.h>
#include <ydb/core/base/tablet.h>
+#include <ydb/core/control/lib/immediate_control_board_wrapper.h>
+
#include <ydb/library/actors/core/executor_pool_basic.h>
#include <ydb/library/actors/core/executor_pool_io.h>
#include <ydb/library/actors/core/hfunc.h>
diff --git a/ydb/core/control/immediate_control_board_impl.h b/ydb/core/control/immediate_control_board_impl.h
index f5463aa12d..04e704813b 100644
--- a/ydb/core/control/immediate_control_board_impl.h
+++ b/ydb/core/control/immediate_control_board_impl.h
@@ -1,31 +1,2 @@
#pragma once
-
-#include "defs.h"
-#include "immediate_control_board_wrapper.h"
-
-#include <ydb/core/util/concurrent_rw_hash.h>
-
-namespace NKikimr {
-
-class TControlBoard : public TThrRefBase {
-private:
- TConcurrentRWHashMap<TString, TIntrusivePtr<TControl>, 16> Board;
-
-public:
- bool RegisterLocalControl(TControlWrapper control, TString name);
-
- bool RegisterSharedControl(TControlWrapper& control, TString name);
-
- void RestoreDefaults();
-
- void RestoreDefault(TString name);
-
- bool SetValue(TString name, TAtomic value, TAtomic &outPrevValue);
-
- // Only for tests
- void GetValue(TString name, TAtomic &outValue, bool &outIsControlExists) const;
-
- TString RenderAsHtml() const;
-};
-
-}
+#include <ydb/core/control/lib/immediate_control_board_impl.h>
diff --git a/ydb/core/control/lib/defs.h b/ydb/core/control/lib/defs.h
new file mode 100644
index 0000000000..0d2ba71fe8
--- /dev/null
+++ b/ydb/core/control/lib/defs.h
@@ -0,0 +1,2 @@
+#pragma once
+#include <ydb/core/base/defs.h>
diff --git a/ydb/core/control/immediate_control_board_control.cpp b/ydb/core/control/lib/immediate_control_board_control.cpp
index 6acb68e985..6acb68e985 100644
--- a/ydb/core/control/immediate_control_board_control.cpp
+++ b/ydb/core/control/lib/immediate_control_board_control.cpp
diff --git a/ydb/core/control/immediate_control_board_control.h b/ydb/core/control/lib/immediate_control_board_control.h
index 5e5ddc901c..5e5ddc901c 100644
--- a/ydb/core/control/immediate_control_board_control.h
+++ b/ydb/core/control/lib/immediate_control_board_control.h
diff --git a/ydb/core/control/immediate_control_board_impl.cpp b/ydb/core/control/lib/immediate_control_board_impl.cpp
index 40336f4df9..40336f4df9 100644
--- a/ydb/core/control/immediate_control_board_impl.cpp
+++ b/ydb/core/control/lib/immediate_control_board_impl.cpp
diff --git a/ydb/core/control/lib/immediate_control_board_impl.h b/ydb/core/control/lib/immediate_control_board_impl.h
new file mode 100644
index 0000000000..f5463aa12d
--- /dev/null
+++ b/ydb/core/control/lib/immediate_control_board_impl.h
@@ -0,0 +1,31 @@
+#pragma once
+
+#include "defs.h"
+#include "immediate_control_board_wrapper.h"
+
+#include <ydb/core/util/concurrent_rw_hash.h>
+
+namespace NKikimr {
+
+class TControlBoard : public TThrRefBase {
+private:
+ TConcurrentRWHashMap<TString, TIntrusivePtr<TControl>, 16> Board;
+
+public:
+ bool RegisterLocalControl(TControlWrapper control, TString name);
+
+ bool RegisterSharedControl(TControlWrapper& control, TString name);
+
+ void RestoreDefaults();
+
+ void RestoreDefault(TString name);
+
+ bool SetValue(TString name, TAtomic value, TAtomic &outPrevValue);
+
+ // Only for tests
+ void GetValue(TString name, TAtomic &outValue, bool &outIsControlExists) const;
+
+ TString RenderAsHtml() const;
+};
+
+}
diff --git a/ydb/core/control/immediate_control_board_ut.cpp b/ydb/core/control/lib/immediate_control_board_ut.cpp
index 35ca7524de..35ca7524de 100644
--- a/ydb/core/control/immediate_control_board_ut.cpp
+++ b/ydb/core/control/lib/immediate_control_board_ut.cpp
diff --git a/ydb/core/control/immediate_control_board_wrapper.h b/ydb/core/control/lib/immediate_control_board_wrapper.h
index d598bf8c81..d598bf8c81 100644
--- a/ydb/core/control/immediate_control_board_wrapper.h
+++ b/ydb/core/control/lib/immediate_control_board_wrapper.h
diff --git a/ydb/core/control/lib/ut/ya.make b/ydb/core/control/lib/ut/ya.make
new file mode 100644
index 0000000000..213be7977a
--- /dev/null
+++ b/ydb/core/control/lib/ut/ya.make
@@ -0,0 +1,17 @@
+UNITTEST_FOR(ydb/core/control/lib)
+
+FORK_SUBTESTS()
+
+SIZE(MEDIUM)
+
+PEERDIR(
+ library/cpp/testing/unittest
+ util
+ ydb/core/base
+)
+
+SRCS(
+ immediate_control_board_ut.cpp
+)
+
+END()
diff --git a/ydb/core/control/lib/ya.make b/ydb/core/control/lib/ya.make
new file mode 100644
index 0000000000..d386cc9338
--- /dev/null
+++ b/ydb/core/control/lib/ya.make
@@ -0,0 +1,24 @@
+LIBRARY()
+
+PEERDIR(
+ util
+ ydb/core/base
+ ydb/core/mon
+ ydb/core/node_whiteboard
+ library/cpp/deprecated/atomic
+)
+
+SRCS(
+ defs.h
+ immediate_control_board_control.cpp
+ immediate_control_board_control.h
+ immediate_control_board_impl.cpp
+ immediate_control_board_impl.h
+ immediate_control_board_wrapper.h
+)
+
+END()
+
+RECURSE_FOR_TESTS(
+ ut
+)
diff --git a/ydb/core/control/ut/ya.make b/ydb/core/control/ut/ya.make
index ee314f5c7c..6a9da8ce33 100644
--- a/ydb/core/control/ut/ya.make
+++ b/ydb/core/control/ut/ya.make
@@ -22,7 +22,6 @@ PEERDIR(
)
SRCS(
- immediate_control_board_ut.cpp
immediate_control_board_actor_ut.cpp
)
diff --git a/ydb/core/control/ya.make b/ydb/core/control/ya.make
index 8c1c83bff9..41fabd545d 100644
--- a/ydb/core/control/ya.make
+++ b/ydb/core/control/ya.make
@@ -2,11 +2,7 @@ LIBRARY()
PEERDIR(
ydb/library/actors/core
- library/cpp/monlib/dynamic_counters
- util
- ydb/core/base
- ydb/core/mon
- ydb/core/node_whiteboard
+ ydb/core/control/lib
library/cpp/deprecated/atomic
)
@@ -14,11 +10,7 @@ SRCS(
defs.h
immediate_control_board_actor.cpp
immediate_control_board_actor.h
- immediate_control_board_control.cpp
- immediate_control_board_control.h
- immediate_control_board_impl.cpp
immediate_control_board_impl.h
- immediate_control_board_wrapper.h
)
END()
diff --git a/ydb/core/grpc_services/grpc_helper.h b/ydb/core/grpc_services/grpc_helper.h
index 1943e0f090..f174bb9a8a 100644
--- a/ydb/core/grpc_services/grpc_helper.h
+++ b/ydb/core/grpc_services/grpc_helper.h
@@ -2,7 +2,7 @@
#include "defs.h"
#include "grpc_mon.h"
-#include <ydb/core/control/immediate_control_board_impl.h>
+#include <ydb/core/control/lib/immediate_control_board_impl.h>
#include <ydb/core/grpc_services/counters/counters.h>
#include <ydb/library/grpc/server/grpc_request.h>
diff --git a/ydb/core/grpc_services/ya.make b/ydb/core/grpc_services/ya.make
index aac04d13ae..da1a446d85 100644
--- a/ydb/core/grpc_services/ya.make
+++ b/ydb/core/grpc_services/ya.make
@@ -111,7 +111,7 @@ PEERDIR(
ydb/core/actorlib_impl
ydb/core/audit
ydb/core/base
- ydb/core/control
+ ydb/core/control/lib
ydb/core/discovery
ydb/core/engine
ydb/core/formats
diff --git a/ydb/core/kqp/common/control.cpp b/ydb/core/kqp/common/control.cpp
index a47b81bdf9..12b6daa10a 100644
--- a/ydb/core/kqp/common/control.cpp
+++ b/ydb/core/kqp/common/control.cpp
@@ -1,7 +1,7 @@
#include "control.h"
#include <ydb/core/base/appdata_fwd.h>
-#include <ydb/core/control/immediate_control_board_impl.h>
+#include <ydb/core/control/lib/immediate_control_board_impl.h>
namespace {
diff --git a/ydb/core/kqp/common/control.h b/ydb/core/kqp/common/control.h
index f2097aaa9c..f766713591 100644
--- a/ydb/core/kqp/common/control.h
+++ b/ydb/core/kqp/common/control.h
@@ -1,4 +1,4 @@
-#include <ydb/core/control/immediate_control_board_wrapper.h>
+#include <ydb/core/control/lib/immediate_control_board_wrapper.h>
namespace NKikimr::NKqp {
diff --git a/ydb/core/kqp/gateway/kqp_gateway.h b/ydb/core/kqp/gateway/kqp_gateway.h
index 4895bf29a9..018231102c 100644
--- a/ydb/core/kqp/gateway/kqp_gateway.h
+++ b/ydb/core/kqp/gateway/kqp_gateway.h
@@ -10,7 +10,7 @@
#include <ydb/core/kqp/counters/kqp_counters.h>
#include <ydb/core/kqp/provider/yql_kikimr_gateway.h>
#include <ydb/core/kqp/provider/yql_kikimr_settings.h>
-#include <ydb/core/control/immediate_control_board_impl.h>
+#include <ydb/core/control/lib/immediate_control_board_impl.h>
#include <ydb/core/tx/long_tx_service/public/lock_handle.h>
#include <ydb/core/ydb_convert/table_profiles.h>
#include <ydb/library/accessor/accessor.h>
diff --git a/ydb/core/kqp/session_actor/kqp_session_actor.h b/ydb/core/kqp/session_actor/kqp_session_actor.h
index 46e673c258..d82ba12ed3 100644
--- a/ydb/core/kqp/session_actor/kqp_session_actor.h
+++ b/ydb/core/kqp/session_actor/kqp_session_actor.h
@@ -9,7 +9,7 @@
#include <ydb/core/protos/table_service_config.pb.h>
#include <ydb/library/yql/dq/actors/compute/dq_compute_actor_async_io_factory.h>
-#include <ydb/core/control/immediate_control_board_wrapper.h>
+#include <ydb/core/control/lib/immediate_control_board_wrapper.h>
#include <ydb/library/actors/core/actorid.h>
namespace NKikimr::NKqp::NComputeActor {
diff --git a/ydb/core/load_test/keyvalue_write.cpp b/ydb/core/load_test/keyvalue_write.cpp
index 4edd27e479..0f0b4ba8bb 100644
--- a/ydb/core/load_test/keyvalue_write.cpp
+++ b/ydb/core/load_test/keyvalue_write.cpp
@@ -4,7 +4,7 @@
#include <ydb/core/base/tablet_pipe.h>
#include <ydb/core/blobstorage/pdisk/blobstorage_pdisk.h>
#include <ydb/core/blobstorage/base/blobstorage_events.h>
-#include <ydb/core/control/immediate_control_board_impl.h>
+#include <ydb/core/control/lib/immediate_control_board_impl.h>
#include <ydb/core/keyvalue/keyvalue_events.h>
#include <library/cpp/histogram/hdr/histogram.h>
diff --git a/ydb/core/load_test/pdisk_log.cpp b/ydb/core/load_test/pdisk_log.cpp
index 32dc66571d..a2624ca4a9 100644
--- a/ydb/core/load_test/pdisk_log.cpp
+++ b/ydb/core/load_test/pdisk_log.cpp
@@ -3,7 +3,7 @@
#include <ydb/core/base/counters.h>
#include <ydb/core/blobstorage/pdisk/blobstorage_pdisk.h>
#include <ydb/core/blobstorage/base/blobstorage_events.h>
-#include <ydb/core/control/immediate_control_board_impl.h>
+#include <ydb/core/control/lib/immediate_control_board_impl.h>
#include <library/cpp/monlib/service/pages/templates.h>
#include <library/cpp/time_provider/time_provider.h>
#include <util/random/fast.h>
diff --git a/ydb/core/load_test/pdisk_read.cpp b/ydb/core/load_test/pdisk_read.cpp
index 5914bc6cd4..8b4f91c27b 100644
--- a/ydb/core/load_test/pdisk_read.cpp
+++ b/ydb/core/load_test/pdisk_read.cpp
@@ -1,8 +1,8 @@
#include "service_actor.h"
#include <ydb/core/base/appdata.h>
#include <ydb/core/base/counters.h>
-#include <ydb/core/control/immediate_control_board_wrapper.h>
-#include <ydb/core/control/immediate_control_board_impl.h>
+#include <ydb/core/control/lib/immediate_control_board_wrapper.h>
+#include <ydb/core/control/lib/immediate_control_board_impl.h>
#include <ydb/core/blobstorage/pdisk/blobstorage_pdisk.h>
#include <ydb/core/blobstorage/base/blobstorage_events.h>
#include <library/cpp/monlib/service/pages/templates.h>
diff --git a/ydb/core/load_test/pdisk_write.cpp b/ydb/core/load_test/pdisk_write.cpp
index e28fdbadc3..9c5b2ec81b 100644
--- a/ydb/core/load_test/pdisk_write.cpp
+++ b/ydb/core/load_test/pdisk_write.cpp
@@ -7,7 +7,7 @@
#include <library/cpp/time_provider/time_provider.h>
#include <util/random/fast.h>
#include <util/generic/queue.h>
-#include <ydb/core/control/immediate_control_board_impl.h>
+#include <ydb/core/control/lib/immediate_control_board_impl.h>
namespace NKikimr {
diff --git a/ydb/core/load_test/ya.make b/ydb/core/load_test/ya.make
index 0b69b9497f..cda739d171 100644
--- a/ydb/core/load_test/ya.make
+++ b/ydb/core/load_test/ya.make
@@ -9,7 +9,7 @@ PEERDIR(
ydb/core/blobstorage/backpressure
ydb/core/blobstorage/base
ydb/core/blobstorage/pdisk
- ydb/core/control
+ ydb/core/control/lib
ydb/core/keyvalue
ydb/core/jaeger_tracing
ydb/core/kqp/common
diff --git a/ydb/core/mon_alloc/monitor.h b/ydb/core/mon_alloc/monitor.h
index 97f409bb26..6a3c6726f5 100644
--- a/ydb/core/mon_alloc/monitor.h
+++ b/ydb/core/mon_alloc/monitor.h
@@ -2,7 +2,7 @@
#include "memory_info.h"
-#include <ydb/core/control/immediate_control_board_impl.h>
+#include <ydb/core/control/lib/immediate_control_board_impl.h>
#include <ydb/library/actors/core/defs.h>
#include <ydb/library/actors/core/actor.h>
diff --git a/ydb/core/mon_alloc/ya.make b/ydb/core/mon_alloc/ya.make
index 9210af29de..d406e61d2e 100644
--- a/ydb/core/mon_alloc/ya.make
+++ b/ydb/core/mon_alloc/ya.make
@@ -25,7 +25,7 @@ PEERDIR(
library/cpp/malloc/api
library/cpp/monlib/service/pages
ydb/core/base
- ydb/core/control
+ ydb/core/control/lib
ydb/library/actors/core
ydb/library/actors/prof
ydb/library/services
diff --git a/ydb/core/tablet_flat/flat_executor.cpp b/ydb/core/tablet_flat/flat_executor.cpp
index 740a727872..0dcd0c59a2 100644
--- a/ydb/core/tablet_flat/flat_executor.cpp
+++ b/ydb/core/tablet_flat/flat_executor.cpp
@@ -28,7 +28,7 @@
#include <ydb/core/base/appdata.h>
#include <ydb/core/base/hive.h>
#include <ydb/core/base/tablet_pipecache.h>
-#include <ydb/core/control/immediate_control_board_impl.h>
+#include <ydb/core/control/lib/immediate_control_board_impl.h>
#include <ydb/core/scheme/scheme_type_registry.h>
#include <ydb/core/tablet/tablet_counters_aggregator.h>
#include <ydb/library/wilson_ids/wilson.h>
diff --git a/ydb/core/tablet_flat/flat_executor.h b/ydb/core/tablet_flat/flat_executor.h
index 648b3d7646..598af4e319 100644
--- a/ydb/core/tablet_flat/flat_executor.h
+++ b/ydb/core/tablet_flat/flat_executor.h
@@ -23,7 +23,7 @@
#include "shared_cache_events.h"
#include "util_fmt_logger.h"
-#include <ydb/core/control/immediate_control_board_wrapper.h>
+#include <ydb/core/control/lib/immediate_control_board_wrapper.h>
#include <ydb/core/tablet/tablet_counters.h>
#include <ydb/core/tablet/tablet_counters_aggregator.h>
#include <ydb/core/tablet/tablet_counters_protobuf.h>
diff --git a/ydb/core/tablet_flat/ya.make b/ydb/core/tablet_flat/ya.make
index 2a7bda2dbb..21c5eec748 100644
--- a/ydb/core/tablet_flat/ya.make
+++ b/ydb/core/tablet_flat/ya.make
@@ -107,7 +107,7 @@ PEERDIR(
library/cpp/lwtrace
library/cpp/lwtrace/mon
ydb/core/base
- ydb/core/control
+ ydb/core/control/lib
ydb/core/protos
ydb/core/tablet
ydb/core/tablet_flat/protos
diff --git a/ydb/core/testlib/actors/test_runtime.h b/ydb/core/testlib/actors/test_runtime.h
index b8a1d2e46a..639d5aaecc 100644
--- a/ydb/core/testlib/actors/test_runtime.h
+++ b/ydb/core/testlib/actors/test_runtime.h
@@ -4,7 +4,7 @@
#include <ydb/core/mon/mon.h>
#include <ydb/core/base/memory_controller_iface.h>
#include <ydb/core/memory_controller/memory_controller.h>
-#include <ydb/core/control/immediate_control_board_impl.h>
+#include <ydb/core/control/lib/immediate_control_board_impl.h>
#include <ydb/core/protos/shared_cache.pb.h>
#include <ydb/library/actors/testlib/test_runtime.h>
diff --git a/ydb/core/testlib/basics/ya.make b/ydb/core/testlib/basics/ya.make
index 896ba9617b..b472d30138 100644
--- a/ydb/core/testlib/basics/ya.make
+++ b/ydb/core/testlib/basics/ya.make
@@ -17,6 +17,7 @@ PEERDIR(
ydb/core/blobstorage/nodewarden
ydb/core/blobstorage/pdisk
ydb/core/client/server
+ ydb/core/control
ydb/core/formats
ydb/core/mind
ydb/core/node_whiteboard
diff --git a/ydb/core/tx/columnshard/defs.h b/ydb/core/tx/columnshard/defs.h
index 6594a323cb..51ecce8a50 100644
--- a/ydb/core/tx/columnshard/defs.h
+++ b/ydb/core/tx/columnshard/defs.h
@@ -5,7 +5,7 @@
#include <ydb/core/base/blobstorage.h>
#include <ydb/library/yverify_stream/yverify_stream.h>
#include <ydb/core/tx/ctor_logger.h>
-#include <ydb/core/control/immediate_control_board_impl.h>
+#include <ydb/core/control/lib/immediate_control_board_impl.h>
#include <ydb/core/tx/columnshard/engines/changes/abstract/settings.h>
#include <ydb/core/tx/columnshard/engines/defs.h>
#include <ydb/core/tx/columnshard/engines/writer/put_status.h>
diff --git a/ydb/core/tx/columnshard/ya.make b/ydb/core/tx/columnshard/ya.make
index 28d2f6cbe0..f1048afeef 100644
--- a/ydb/core/tx/columnshard/ya.make
+++ b/ydb/core/tx/columnshard/ya.make
@@ -32,7 +32,7 @@ GENERATE_ENUM_SERIALIZATION(columnshard_impl.h)
PEERDIR(
ydb/core/actorlib_impl
ydb/core/base
- ydb/core/control
+ ydb/core/control/lib
ydb/core/formats
ydb/core/kqp
ydb/core/protos
diff --git a/ydb/core/tx/coordinator/coordinator_impl.cpp b/ydb/core/tx/coordinator/coordinator_impl.cpp
index d03be5b812..2a638d16f9 100644
--- a/ydb/core/tx/coordinator/coordinator_impl.cpp
+++ b/ydb/core/tx/coordinator/coordinator_impl.cpp
@@ -1,6 +1,6 @@
#include "coordinator_impl.h"
#include "coordinator_state.h"
-#include <ydb/core/control/immediate_control_board_impl.h>
+#include <ydb/core/control/lib/immediate_control_board_impl.h>
#include <ydb/core/engine/minikql/flat_local_tx_factory.h>
#include <ydb/core/tablet/tablet_counters_protobuf.h>
#include <ydb/core/tablet/tablet_counters_aggregator.h>
diff --git a/ydb/core/tx/coordinator/coordinator_impl.h b/ydb/core/tx/coordinator/coordinator_impl.h
index da8f91576d..d478c269ed 100644
--- a/ydb/core/tx/coordinator/coordinator_impl.h
+++ b/ydb/core/tx/coordinator/coordinator_impl.h
@@ -8,7 +8,7 @@
#include <ydb/core/base/tablet_pipe.h>
#include <ydb/core/base/tablet_pipecache.h>
#include <ydb/core/base/tx_processing.h>
-#include <ydb/core/control/immediate_control_board_wrapper.h>
+#include <ydb/core/control/lib/immediate_control_board_wrapper.h>
#include <ydb/core/tablet/tablet_counters.h>
#include <ydb/core/tablet/tablet_exception.h>
#include <ydb/core/tablet_flat/tablet_flat_executed.h>
diff --git a/ydb/core/tx/schemeshard/schemeshard_info_types.h b/ydb/core/tx/schemeshard/schemeshard_info_types.h
index 9f4a8e34ab..6d52d76f20 100644
--- a/ydb/core/tx/schemeshard/schemeshard_info_types.h
+++ b/ydb/core/tx/schemeshard/schemeshard_info_types.h
@@ -10,7 +10,7 @@
#include <ydb/core/tx/message_seqno.h>
#include <ydb/core/tx/datashard/datashard.h>
-#include <ydb/core/control/immediate_control_board_impl.h>
+#include <ydb/core/control/lib/immediate_control_board_impl.h>
#include <ydb/core/backup/common/metadata.h>
#include <ydb/core/base/feature_flags.h>
diff --git a/ydb/core/tx/tx_proxy/proxy.h b/ydb/core/tx/tx_proxy/proxy.h
index fd032258ac..542f0b70fa 100644
--- a/ydb/core/tx/tx_proxy/proxy.h
+++ b/ydb/core/tx/tx_proxy/proxy.h
@@ -5,7 +5,7 @@
#include <ydb/public/lib/base/defs.h>
#include <ydb/public/api/protos/ydb_status_codes.pb.h>
#include <ydb/library/ydb_issue/issue_helpers.h>
-#include <ydb/core/control/immediate_control_board_impl.h>
+#include <ydb/core/control/lib/immediate_control_board_impl.h>
#include <ydb/core/tx/tx.h>
#include <ydb/core/tx/locks/sys_tables.h>
#include <ydb/core/tx/scheme_cache/scheme_cache.h>
diff --git a/ydb/core/util/actorsys_test/single_thread_ic_mock.cpp b/ydb/core/util/actorsys_test/single_thread_ic_mock.cpp
index 8fbdfc4342..1caf0fe2d5 100644
--- a/ydb/core/util/actorsys_test/single_thread_ic_mock.cpp
+++ b/ydb/core/util/actorsys_test/single_thread_ic_mock.cpp
@@ -1,7 +1,7 @@
#include "single_thread_ic_mock.h"
#include "testactorsys.h"
#include <ydb/core/util/stlog.h>
-#include <ydb/core/control/immediate_control_board_impl.h>
+#include <ydb/core/control/lib/immediate_control_board_impl.h>
#include <ydb/core/grpc_services/grpc_helper.h>
#include <ydb/core/base/feature_flags.h>
#include <ydb/core/base/nameservice.h>
diff --git a/ydb/core/util/actorsys_test/testactorsys.cpp b/ydb/core/util/actorsys_test/testactorsys.cpp
index 07e10d4171..2366c796c4 100644
--- a/ydb/core/util/actorsys_test/testactorsys.cpp
+++ b/ydb/core/util/actorsys_test/testactorsys.cpp
@@ -7,7 +7,7 @@
#include <ydb/library/actors/core/executor_thread.h>
#include <ydb/library/actors/interconnect/interconnect.h>
#include <library/cpp/time_provider/time_provider.h>
-#include <ydb/core/control/immediate_control_board_impl.h>
+#include <ydb/core/control/lib/immediate_control_board_impl.h>
#include <ydb/core/grpc_services/grpc_helper.h>
#include <ydb/core/base/feature_flags.h>
#include <ydb/core/base/nameservice.h>