aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrobot-piglet <robot-piglet@yandex-team.com>2025-02-12 13:05:10 +0300
committerrobot-piglet <robot-piglet@yandex-team.com>2025-02-12 13:17:41 +0300
commit4212b0c0eb8a415a764c8400bd71ab71b5484ea6 (patch)
tree1c79098f1d0f0cb51b308b089db935d073af493f
parentd0922b31eabc5eb358c7821903414d8b56c01132 (diff)
downloadydb-4212b0c0eb8a415a764c8400bd71ab71b5484ea6.tar.gz
Intermediate changes
commit_hash:968efa1587ed15d27ed5b3b0c8f68f01abcbba67
-rw-r--r--contrib/restricted/boost/algorithm/ya.make2
-rw-r--r--contrib/restricted/boost/align/ya.make2
-rw-r--r--contrib/restricted/boost/any/ya.make2
-rw-r--r--contrib/restricted/boost/array/ya.make2
-rw-r--r--contrib/restricted/boost/asio/ya.make2
-rw-r--r--contrib/restricted/boost/assert/ya.make2
-rw-r--r--contrib/restricted/boost/atomic/ya.make2
-rw-r--r--contrib/restricted/boost/bimap/ya.make2
-rw-r--r--contrib/restricted/boost/bind/ya.make2
-rw-r--r--contrib/restricted/boost/chrono/ya.make2
-rw-r--r--contrib/restricted/boost/concept_check/ya.make2
-rw-r--r--contrib/restricted/boost/config/ya.make2
-rw-r--r--contrib/restricted/boost/container/ya.make2
-rw-r--r--contrib/restricted/boost/container_hash/ya.make2
-rw-r--r--contrib/restricted/boost/context/ya.make2
-rw-r--r--contrib/restricted/boost/conversion/ya.make2
-rw-r--r--contrib/restricted/boost/core/ya.make2
-rw-r--r--contrib/restricted/boost/coroutine/ya.make2
-rw-r--r--contrib/restricted/boost/crc/ya.make2
-rw-r--r--contrib/restricted/boost/date_time/ya.make2
-rw-r--r--contrib/restricted/boost/describe/ya.make2
-rw-r--r--contrib/restricted/boost/detail/ya.make2
-rw-r--r--contrib/restricted/boost/dynamic_bitset/ya.make2
-rw-r--r--contrib/restricted/boost/endian/ya.make2
-rw-r--r--contrib/restricted/boost/exception/ya.make2
-rw-r--r--contrib/restricted/boost/filesystem/ya.make2
-rw-r--r--contrib/restricted/boost/foreach/ya.make2
-rw-r--r--contrib/restricted/boost/format/ya.make2
-rw-r--r--contrib/restricted/boost/function/ya.make2
-rw-r--r--contrib/restricted/boost/function_types/ya.make2
-rw-r--r--contrib/restricted/boost/functional/ya.make2
-rw-r--r--contrib/restricted/boost/fusion/ya.make2
-rw-r--r--contrib/restricted/boost/graph/ya.make2
-rw-r--r--contrib/restricted/boost/icl/ya.make2
-rw-r--r--contrib/restricted/boost/integer/ya.make2
-rw-r--r--contrib/restricted/boost/interprocess/ya.make2
-rw-r--r--contrib/restricted/boost/intrusive/ya.make2
-rw-r--r--contrib/restricted/boost/io/ya.make2
-rw-r--r--contrib/restricted/boost/iostreams/ya.make2
-rw-r--r--contrib/restricted/boost/iterator/ya.make2
-rw-r--r--contrib/restricted/boost/lambda/ya.make2
-rw-r--r--contrib/restricted/boost/lexical_cast/ya.make2
-rw-r--r--contrib/restricted/boost/locale/ya.make2
-rw-r--r--contrib/restricted/boost/math/ya.make2
-rw-r--r--contrib/restricted/boost/move/ya.make2
-rw-r--r--contrib/restricted/boost/mp11/ya.make2
-rw-r--r--contrib/restricted/boost/mpl/ya.make2
-rw-r--r--contrib/restricted/boost/multi_array/ya.make2
-rw-r--r--contrib/restricted/boost/multi_index/ya.make2
-rw-r--r--contrib/restricted/boost/numeric_conversion/ya.make2
-rw-r--r--contrib/restricted/boost/optional/ya.make2
-rw-r--r--contrib/restricted/boost/parameter/ya.make2
-rw-r--r--contrib/restricted/boost/phoenix/ya.make2
-rw-r--r--contrib/restricted/boost/pool/ya.make2
-rw-r--r--contrib/restricted/boost/predef/ya.make2
-rw-r--r--contrib/restricted/boost/preprocessor/ya.make2
-rw-r--r--contrib/restricted/boost/program_options/ya.make2
-rw-r--r--contrib/restricted/boost/property_map/ya.make2
-rw-r--r--contrib/restricted/boost/property_tree/ya.make2
-rw-r--r--contrib/restricted/boost/proto/ya.make2
-rw-r--r--contrib/restricted/boost/random/ya.make2
-rw-r--r--contrib/restricted/boost/range/ya.make2
-rw-r--r--contrib/restricted/boost/ratio/ya.make2
-rw-r--r--contrib/restricted/boost/rational/ya.make2
-rw-r--r--contrib/restricted/boost/regex/ya.make2
-rw-r--r--contrib/restricted/boost/scope/ya.make2
-rw-r--r--contrib/restricted/boost/scope_exit/ya.make2
-rw-r--r--contrib/restricted/boost/serialization/ya.make2
-rw-r--r--contrib/restricted/boost/smart_ptr/ya.make2
-rw-r--r--contrib/restricted/boost/spirit/ya.make2
-rw-r--r--contrib/restricted/boost/static_assert/ya.make2
-rw-r--r--contrib/restricted/boost/system/ya.make2
-rw-r--r--contrib/restricted/boost/thread/ya.make2
-rw-r--r--contrib/restricted/boost/throw_exception/ya.make2
-rw-r--r--contrib/restricted/boost/tokenizer/ya.make2
-rw-r--r--contrib/restricted/boost/tti/ya.make2
-rw-r--r--contrib/restricted/boost/tuple/ya.make2
-rw-r--r--contrib/restricted/boost/type_index/ya.make2
-rw-r--r--contrib/restricted/boost/type_traits/ya.make2
-rw-r--r--contrib/restricted/boost/typeof/ya.make2
-rw-r--r--contrib/restricted/boost/utility/ya.make2
-rw-r--r--contrib/restricted/boost/variant/ya.make2
-rw-r--r--contrib/restricted/boost/variant2/ya.make2
-rw-r--r--contrib/restricted/boost/winapi/ya.make2
-rw-r--r--contrib/restricted/boost/xpressive/ya.make2
-rw-r--r--yt/yt/core/concurrency/arcadia_interop-inl.h68
-rw-r--r--yt/yt/core/concurrency/arcadia_interop.h23
-rw-r--r--yt/yt/core/concurrency/unittests/arcadia_interop_ut.cpp137
-rw-r--r--yt/yt/core/concurrency/unittests/ya.make2
89 files changed, 315 insertions, 85 deletions
diff --git a/contrib/restricted/boost/algorithm/ya.make b/contrib/restricted/boost/algorithm/ya.make
index d938d03b889..0ed2855a8e4 100644
--- a/contrib/restricted/boost/algorithm/ya.make
+++ b/contrib/restricted/boost/algorithm/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/align/ya.make b/contrib/restricted/boost/align/ya.make
index 9c31c8be124..da48278a2a2 100644
--- a/contrib/restricted/boost/align/ya.make
+++ b/contrib/restricted/boost/align/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/any/ya.make b/contrib/restricted/boost/any/ya.make
index af2ca985495..82f0107ef44 100644
--- a/contrib/restricted/boost/any/ya.make
+++ b/contrib/restricted/boost/any/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/array/ya.make b/contrib/restricted/boost/array/ya.make
index 88d2e9a1f6b..36c56a138b4 100644
--- a/contrib/restricted/boost/array/ya.make
+++ b/contrib/restricted/boost/array/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/asio/ya.make b/contrib/restricted/boost/asio/ya.make
index f5f8e8c7664..8999bcbf416 100644
--- a/contrib/restricted/boost/asio/ya.make
+++ b/contrib/restricted/boost/asio/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/assert/ya.make b/contrib/restricted/boost/assert/ya.make
index 00e873ef77d..2ce68b77e52 100644
--- a/contrib/restricted/boost/assert/ya.make
+++ b/contrib/restricted/boost/assert/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/atomic/ya.make b/contrib/restricted/boost/atomic/ya.make
index 9cf20d68265..116e53a811e 100644
--- a/contrib/restricted/boost/atomic/ya.make
+++ b/contrib/restricted/boost/atomic/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/bimap/ya.make b/contrib/restricted/boost/bimap/ya.make
index 267377cb613..f20f7459040 100644
--- a/contrib/restricted/boost/bimap/ya.make
+++ b/contrib/restricted/boost/bimap/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/bind/ya.make b/contrib/restricted/boost/bind/ya.make
index e5f8ce459e4..c5a29006309 100644
--- a/contrib/restricted/boost/bind/ya.make
+++ b/contrib/restricted/boost/bind/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/chrono/ya.make b/contrib/restricted/boost/chrono/ya.make
index a7ac5ae30e4..b2067cd12a7 100644
--- a/contrib/restricted/boost/chrono/ya.make
+++ b/contrib/restricted/boost/chrono/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/concept_check/ya.make b/contrib/restricted/boost/concept_check/ya.make
index 0d6bfef4a20..94e8ad8b182 100644
--- a/contrib/restricted/boost/concept_check/ya.make
+++ b/contrib/restricted/boost/concept_check/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/config/ya.make b/contrib/restricted/boost/config/ya.make
index 775599d7d06..e120bacd8d4 100644
--- a/contrib/restricted/boost/config/ya.make
+++ b/contrib/restricted/boost/config/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/container/ya.make b/contrib/restricted/boost/container/ya.make
index ea452720598..e03654a4053 100644
--- a/contrib/restricted/boost/container/ya.make
+++ b/contrib/restricted/boost/container/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/container_hash/ya.make b/contrib/restricted/boost/container_hash/ya.make
index 999e5fa26f2..e36c0a5f8a0 100644
--- a/contrib/restricted/boost/container_hash/ya.make
+++ b/contrib/restricted/boost/container_hash/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/context/ya.make b/contrib/restricted/boost/context/ya.make
index f70cdc034c2..8a147731c37 100644
--- a/contrib/restricted/boost/context/ya.make
+++ b/contrib/restricted/boost/context/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/conversion/ya.make b/contrib/restricted/boost/conversion/ya.make
index 4a0ecde166e..ad542c166aa 100644
--- a/contrib/restricted/boost/conversion/ya.make
+++ b/contrib/restricted/boost/conversion/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/core/ya.make b/contrib/restricted/boost/core/ya.make
index 14f29f742fc..9c25aca222d 100644
--- a/contrib/restricted/boost/core/ya.make
+++ b/contrib/restricted/boost/core/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/coroutine/ya.make b/contrib/restricted/boost/coroutine/ya.make
index ffe47ab2489..9df407fcfbf 100644
--- a/contrib/restricted/boost/coroutine/ya.make
+++ b/contrib/restricted/boost/coroutine/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/crc/ya.make b/contrib/restricted/boost/crc/ya.make
index 7c5e2a4d704..9feb7e69bff 100644
--- a/contrib/restricted/boost/crc/ya.make
+++ b/contrib/restricted/boost/crc/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/date_time/ya.make b/contrib/restricted/boost/date_time/ya.make
index 39c6b85077a..37d7c502489 100644
--- a/contrib/restricted/boost/date_time/ya.make
+++ b/contrib/restricted/boost/date_time/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/describe/ya.make b/contrib/restricted/boost/describe/ya.make
index ae00966485d..4fe135f3896 100644
--- a/contrib/restricted/boost/describe/ya.make
+++ b/contrib/restricted/boost/describe/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/detail/ya.make b/contrib/restricted/boost/detail/ya.make
index 51e3024b64b..154259f44d3 100644
--- a/contrib/restricted/boost/detail/ya.make
+++ b/contrib/restricted/boost/detail/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/dynamic_bitset/ya.make b/contrib/restricted/boost/dynamic_bitset/ya.make
index 4205dbfb1e3..6590530e54b 100644
--- a/contrib/restricted/boost/dynamic_bitset/ya.make
+++ b/contrib/restricted/boost/dynamic_bitset/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/endian/ya.make b/contrib/restricted/boost/endian/ya.make
index 0253e965f63..a8ef1e0929e 100644
--- a/contrib/restricted/boost/endian/ya.make
+++ b/contrib/restricted/boost/endian/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/exception/ya.make b/contrib/restricted/boost/exception/ya.make
index f5dd8d5a154..0a4f37eb4d1 100644
--- a/contrib/restricted/boost/exception/ya.make
+++ b/contrib/restricted/boost/exception/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/filesystem/ya.make b/contrib/restricted/boost/filesystem/ya.make
index b576f8c67f4..77f703684ef 100644
--- a/contrib/restricted/boost/filesystem/ya.make
+++ b/contrib/restricted/boost/filesystem/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/foreach/ya.make b/contrib/restricted/boost/foreach/ya.make
index b2a7f736731..1d2a46c157a 100644
--- a/contrib/restricted/boost/foreach/ya.make
+++ b/contrib/restricted/boost/foreach/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/format/ya.make b/contrib/restricted/boost/format/ya.make
index 1fa36671f8a..e6a379ac2d0 100644
--- a/contrib/restricted/boost/format/ya.make
+++ b/contrib/restricted/boost/format/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/function/ya.make b/contrib/restricted/boost/function/ya.make
index 6b4f5f501e5..8f4408c4e64 100644
--- a/contrib/restricted/boost/function/ya.make
+++ b/contrib/restricted/boost/function/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/function_types/ya.make b/contrib/restricted/boost/function_types/ya.make
index a21355f70f1..ea984dcf0af 100644
--- a/contrib/restricted/boost/function_types/ya.make
+++ b/contrib/restricted/boost/function_types/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/functional/ya.make b/contrib/restricted/boost/functional/ya.make
index fd94c7e4f8e..3eafe1d62a2 100644
--- a/contrib/restricted/boost/functional/ya.make
+++ b/contrib/restricted/boost/functional/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/fusion/ya.make b/contrib/restricted/boost/fusion/ya.make
index b040d1b3549..76f1891d2cd 100644
--- a/contrib/restricted/boost/fusion/ya.make
+++ b/contrib/restricted/boost/fusion/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/graph/ya.make b/contrib/restricted/boost/graph/ya.make
index 0d094e599f8..fcf8a46af12 100644
--- a/contrib/restricted/boost/graph/ya.make
+++ b/contrib/restricted/boost/graph/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/icl/ya.make b/contrib/restricted/boost/icl/ya.make
index b35a6498aaf..e3947c9cd9d 100644
--- a/contrib/restricted/boost/icl/ya.make
+++ b/contrib/restricted/boost/icl/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/integer/ya.make b/contrib/restricted/boost/integer/ya.make
index 73fb20e0821..d968252ea50 100644
--- a/contrib/restricted/boost/integer/ya.make
+++ b/contrib/restricted/boost/integer/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/interprocess/ya.make b/contrib/restricted/boost/interprocess/ya.make
index f80c8214e53..c358bb72dfc 100644
--- a/contrib/restricted/boost/interprocess/ya.make
+++ b/contrib/restricted/boost/interprocess/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/intrusive/ya.make b/contrib/restricted/boost/intrusive/ya.make
index c4277755b11..618728e5547 100644
--- a/contrib/restricted/boost/intrusive/ya.make
+++ b/contrib/restricted/boost/intrusive/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/io/ya.make b/contrib/restricted/boost/io/ya.make
index c2aaf8fd2b2..b3462f4776f 100644
--- a/contrib/restricted/boost/io/ya.make
+++ b/contrib/restricted/boost/io/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/iostreams/ya.make b/contrib/restricted/boost/iostreams/ya.make
index 7ca9e63c2d9..b16e94cb2db 100644
--- a/contrib/restricted/boost/iostreams/ya.make
+++ b/contrib/restricted/boost/iostreams/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/iterator/ya.make b/contrib/restricted/boost/iterator/ya.make
index fb90d32045b..420fc86cb19 100644
--- a/contrib/restricted/boost/iterator/ya.make
+++ b/contrib/restricted/boost/iterator/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/lambda/ya.make b/contrib/restricted/boost/lambda/ya.make
index 18a1d6da603..f07eb7a44a4 100644
--- a/contrib/restricted/boost/lambda/ya.make
+++ b/contrib/restricted/boost/lambda/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/lexical_cast/ya.make b/contrib/restricted/boost/lexical_cast/ya.make
index 56617275189..4f664aa61fb 100644
--- a/contrib/restricted/boost/lexical_cast/ya.make
+++ b/contrib/restricted/boost/lexical_cast/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/locale/ya.make b/contrib/restricted/boost/locale/ya.make
index c219d302675..9576428064a 100644
--- a/contrib/restricted/boost/locale/ya.make
+++ b/contrib/restricted/boost/locale/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/math/ya.make b/contrib/restricted/boost/math/ya.make
index 6a6432f8a50..988076c995c 100644
--- a/contrib/restricted/boost/math/ya.make
+++ b/contrib/restricted/boost/math/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/move/ya.make b/contrib/restricted/boost/move/ya.make
index 54759399663..5cb906e47ea 100644
--- a/contrib/restricted/boost/move/ya.make
+++ b/contrib/restricted/boost/move/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/mp11/ya.make b/contrib/restricted/boost/mp11/ya.make
index e8c641ac18a..bced8c301ee 100644
--- a/contrib/restricted/boost/mp11/ya.make
+++ b/contrib/restricted/boost/mp11/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/mpl/ya.make b/contrib/restricted/boost/mpl/ya.make
index 554a3129809..3fedf8a2390 100644
--- a/contrib/restricted/boost/mpl/ya.make
+++ b/contrib/restricted/boost/mpl/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/multi_array/ya.make b/contrib/restricted/boost/multi_array/ya.make
index 42944d86f69..200878edc2c 100644
--- a/contrib/restricted/boost/multi_array/ya.make
+++ b/contrib/restricted/boost/multi_array/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/multi_index/ya.make b/contrib/restricted/boost/multi_index/ya.make
index b36b0131e51..7935b94c2b6 100644
--- a/contrib/restricted/boost/multi_index/ya.make
+++ b/contrib/restricted/boost/multi_index/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/numeric_conversion/ya.make b/contrib/restricted/boost/numeric_conversion/ya.make
index b8a1b502bfe..1e7fd5d076e 100644
--- a/contrib/restricted/boost/numeric_conversion/ya.make
+++ b/contrib/restricted/boost/numeric_conversion/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/optional/ya.make b/contrib/restricted/boost/optional/ya.make
index f5fc86fbef0..1c6124ec498 100644
--- a/contrib/restricted/boost/optional/ya.make
+++ b/contrib/restricted/boost/optional/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/parameter/ya.make b/contrib/restricted/boost/parameter/ya.make
index 251c7191501..99e187dd21b 100644
--- a/contrib/restricted/boost/parameter/ya.make
+++ b/contrib/restricted/boost/parameter/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/phoenix/ya.make b/contrib/restricted/boost/phoenix/ya.make
index a16955ff0bd..c612414a7cc 100644
--- a/contrib/restricted/boost/phoenix/ya.make
+++ b/contrib/restricted/boost/phoenix/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/pool/ya.make b/contrib/restricted/boost/pool/ya.make
index 8773925a7d1..ccf63a42378 100644
--- a/contrib/restricted/boost/pool/ya.make
+++ b/contrib/restricted/boost/pool/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/predef/ya.make b/contrib/restricted/boost/predef/ya.make
index e908e6f8572..650be04dbcc 100644
--- a/contrib/restricted/boost/predef/ya.make
+++ b/contrib/restricted/boost/predef/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/preprocessor/ya.make b/contrib/restricted/boost/preprocessor/ya.make
index 3336f4e7513..c7f3766b016 100644
--- a/contrib/restricted/boost/preprocessor/ya.make
+++ b/contrib/restricted/boost/preprocessor/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/program_options/ya.make b/contrib/restricted/boost/program_options/ya.make
index 9bc4c913597..bccf24334b4 100644
--- a/contrib/restricted/boost/program_options/ya.make
+++ b/contrib/restricted/boost/program_options/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/property_map/ya.make b/contrib/restricted/boost/property_map/ya.make
index 42f1e30c66e..eedeb664ade 100644
--- a/contrib/restricted/boost/property_map/ya.make
+++ b/contrib/restricted/boost/property_map/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/property_tree/ya.make b/contrib/restricted/boost/property_tree/ya.make
index 7f4f4f03b11..67823683685 100644
--- a/contrib/restricted/boost/property_tree/ya.make
+++ b/contrib/restricted/boost/property_tree/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/proto/ya.make b/contrib/restricted/boost/proto/ya.make
index da12ddaf7c3..208f5c69038 100644
--- a/contrib/restricted/boost/proto/ya.make
+++ b/contrib/restricted/boost/proto/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/random/ya.make b/contrib/restricted/boost/random/ya.make
index 2a660f2d87b..6f4eccc45d8 100644
--- a/contrib/restricted/boost/random/ya.make
+++ b/contrib/restricted/boost/random/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/range/ya.make b/contrib/restricted/boost/range/ya.make
index a29289b9a64..e7159eda62a 100644
--- a/contrib/restricted/boost/range/ya.make
+++ b/contrib/restricted/boost/range/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/ratio/ya.make b/contrib/restricted/boost/ratio/ya.make
index 3424873861d..55402e32541 100644
--- a/contrib/restricted/boost/ratio/ya.make
+++ b/contrib/restricted/boost/ratio/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/rational/ya.make b/contrib/restricted/boost/rational/ya.make
index 21718f3aa48..3bd018e2037 100644
--- a/contrib/restricted/boost/rational/ya.make
+++ b/contrib/restricted/boost/rational/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/regex/ya.make b/contrib/restricted/boost/regex/ya.make
index 956cc1dd531..7d0c8cfa6c8 100644
--- a/contrib/restricted/boost/regex/ya.make
+++ b/contrib/restricted/boost/regex/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/scope/ya.make b/contrib/restricted/boost/scope/ya.make
index caf5dec21b6..12922444709 100644
--- a/contrib/restricted/boost/scope/ya.make
+++ b/contrib/restricted/boost/scope/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/scope_exit/ya.make b/contrib/restricted/boost/scope_exit/ya.make
index 0619777d691..4c20428b516 100644
--- a/contrib/restricted/boost/scope_exit/ya.make
+++ b/contrib/restricted/boost/scope_exit/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/serialization/ya.make b/contrib/restricted/boost/serialization/ya.make
index b677edd6928..bd3bc43d3ff 100644
--- a/contrib/restricted/boost/serialization/ya.make
+++ b/contrib/restricted/boost/serialization/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/smart_ptr/ya.make b/contrib/restricted/boost/smart_ptr/ya.make
index b3779839c4b..626ff3804f4 100644
--- a/contrib/restricted/boost/smart_ptr/ya.make
+++ b/contrib/restricted/boost/smart_ptr/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/spirit/ya.make b/contrib/restricted/boost/spirit/ya.make
index ccb51f5ad6e..f108f95a4b3 100644
--- a/contrib/restricted/boost/spirit/ya.make
+++ b/contrib/restricted/boost/spirit/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/static_assert/ya.make b/contrib/restricted/boost/static_assert/ya.make
index 5aea070712b..36818326728 100644
--- a/contrib/restricted/boost/static_assert/ya.make
+++ b/contrib/restricted/boost/static_assert/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/system/ya.make b/contrib/restricted/boost/system/ya.make
index deb146a20af..0bc1a155a5e 100644
--- a/contrib/restricted/boost/system/ya.make
+++ b/contrib/restricted/boost/system/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/thread/ya.make b/contrib/restricted/boost/thread/ya.make
index 1549e1d4532..5c328bdbbaf 100644
--- a/contrib/restricted/boost/thread/ya.make
+++ b/contrib/restricted/boost/thread/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/throw_exception/ya.make b/contrib/restricted/boost/throw_exception/ya.make
index 7c8f7c2e90c..c9476383fe7 100644
--- a/contrib/restricted/boost/throw_exception/ya.make
+++ b/contrib/restricted/boost/throw_exception/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/tokenizer/ya.make b/contrib/restricted/boost/tokenizer/ya.make
index 5c88e62772e..55943e10b24 100644
--- a/contrib/restricted/boost/tokenizer/ya.make
+++ b/contrib/restricted/boost/tokenizer/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/tti/ya.make b/contrib/restricted/boost/tti/ya.make
index eb7e76e0436..a02ee9d5c0b 100644
--- a/contrib/restricted/boost/tti/ya.make
+++ b/contrib/restricted/boost/tti/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/tuple/ya.make b/contrib/restricted/boost/tuple/ya.make
index 497e852c0df..484b69a1ab4 100644
--- a/contrib/restricted/boost/tuple/ya.make
+++ b/contrib/restricted/boost/tuple/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/type_index/ya.make b/contrib/restricted/boost/type_index/ya.make
index eb00dc53767..0e9e1b871f5 100644
--- a/contrib/restricted/boost/type_index/ya.make
+++ b/contrib/restricted/boost/type_index/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/type_traits/ya.make b/contrib/restricted/boost/type_traits/ya.make
index 5ff75a31b62..443a9f8985a 100644
--- a/contrib/restricted/boost/type_traits/ya.make
+++ b/contrib/restricted/boost/type_traits/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/typeof/ya.make b/contrib/restricted/boost/typeof/ya.make
index 482792fb888..e025e2f873c 100644
--- a/contrib/restricted/boost/typeof/ya.make
+++ b/contrib/restricted/boost/typeof/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/utility/ya.make b/contrib/restricted/boost/utility/ya.make
index 9e7e8709020..2114d7a8f97 100644
--- a/contrib/restricted/boost/utility/ya.make
+++ b/contrib/restricted/boost/utility/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/variant/ya.make b/contrib/restricted/boost/variant/ya.make
index e3e8f50ff3e..649b2ae5e71 100644
--- a/contrib/restricted/boost/variant/ya.make
+++ b/contrib/restricted/boost/variant/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/variant2/ya.make b/contrib/restricted/boost/variant2/ya.make
index 4259d6b6cfa..e717d77b7c3 100644
--- a/contrib/restricted/boost/variant2/ya.make
+++ b/contrib/restricted/boost/variant2/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/winapi/ya.make b/contrib/restricted/boost/winapi/ya.make
index 1ee9d12893c..47d480123bf 100644
--- a/contrib/restricted/boost/winapi/ya.make
+++ b/contrib/restricted/boost/winapi/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/contrib/restricted/boost/xpressive/ya.make b/contrib/restricted/boost/xpressive/ya.make
index 081bb754fdc..d25ab325058 100644
--- a/contrib/restricted/boost/xpressive/ya.make
+++ b/contrib/restricted/boost/xpressive/ya.make
@@ -1,4 +1,4 @@
-# Generated by devtools/yamaker from nixpkgs 22.11.
+# Generated by devtools/yamaker from nixpkgs 24.05.
LIBRARY()
diff --git a/yt/yt/core/concurrency/arcadia_interop-inl.h b/yt/yt/core/concurrency/arcadia_interop-inl.h
new file mode 100644
index 00000000000..57dc19c66d4
--- /dev/null
+++ b/yt/yt/core/concurrency/arcadia_interop-inl.h
@@ -0,0 +1,68 @@
+#ifndef ARCADIA_INTEROP_INL_H_
+#error "Direct inclusion of this file is not allowed, include async_batcher.h"
+// For the sake of sane code completion.
+#include "arcadia_interop.h"
+#endif
+#undef ARCADIA_INTEROP_INL_H_
+
+#include <yt/yt/core/actions/future.h>
+
+#include <library/cpp/threading/future/core/future.h>
+
+namespace NYT::NConcurrency {
+
+////////////////////////////////////////////////////////////////////////////////
+
+template <class T>
+::NThreading::TFuture<T> ToArcadiaFuture(const TFuture<T>& future)
+{
+ auto promise = ::NThreading::NewPromise<T>();
+ auto wrappedFuture = promise.GetFuture();
+
+ future
+ .Subscribe(BIND([promise = std::move(promise)] (const TErrorOr<T>& valueOrError) mutable {
+ try {
+ if constexpr (std::is_same_v<T, void>) {
+ valueOrError
+ .ThrowOnError();
+ promise.TrySetValue();
+ } else {
+ auto value = valueOrError
+ .ValueOrThrow();
+ promise.TrySetValue(std::move(value));
+ }
+ } catch (...) {
+ promise.TrySetException(std::current_exception());
+ }
+ }));
+
+ return wrappedFuture;
+}
+
+template <class T>
+TFuture<T> FromArcadiaFuture(const ::NThreading::TFuture<T>& future)
+{
+ auto promise = NewPromise<T>();
+ auto wrappedFuture = promise.ToFuture();
+
+ future
+ .Subscribe([promise = std::move(promise)](::NThreading::TFuture<T> future) {
+ YT_ASSERT(future.HasValue() || future.HasException());
+ try {
+ if constexpr (std::is_void_v<T>) {
+ future.TryRethrow();
+ promise.TrySet();
+ } else {
+ promise.TrySet(future.ExtractValueSync());
+ }
+ } catch (const std::exception& e) {
+ promise.TrySet(NYT::TError(e));
+ }
+ });
+
+ return wrappedFuture;
+}
+
+////////////////////////////////////////////////////////////////////////////////
+
+} // namespace NYT::NConcurrency
diff --git a/yt/yt/core/concurrency/arcadia_interop.h b/yt/yt/core/concurrency/arcadia_interop.h
new file mode 100644
index 00000000000..d46ebb8c003
--- /dev/null
+++ b/yt/yt/core/concurrency/arcadia_interop.h
@@ -0,0 +1,23 @@
+#pragma once
+
+#include <yt/yt/core/actions/future.h>
+
+#include <library/cpp/threading/future/core/future.h>
+
+namespace NYT::NConcurrency {
+
+////////////////////////////////////////////////////////////////////////////////
+
+template <class T>
+::NThreading::TFuture<T> ToArcadiaFuture(const TFuture<T>& future);
+
+template <class T>
+TFuture<T> FromArcadiaFuture(const ::NThreading::TFuture<T>& future);
+
+////////////////////////////////////////////////////////////////////////////////
+
+} // namespace NYT::NConcurrency
+
+#define ARCADIA_INTEROP_INL_H_
+#include "arcadia_interop-inl.h"
+#undef ARCADIA_INTEROP_INL_H_
diff --git a/yt/yt/core/concurrency/unittests/arcadia_interop_ut.cpp b/yt/yt/core/concurrency/unittests/arcadia_interop_ut.cpp
new file mode 100644
index 00000000000..a987ebbca27
--- /dev/null
+++ b/yt/yt/core/concurrency/unittests/arcadia_interop_ut.cpp
@@ -0,0 +1,137 @@
+#include <yt/yt/core/test_framework/framework.h>
+
+#include <yt/yt/core/concurrency/arcadia_interop.h>
+
+namespace NYT::NConcurrency {
+namespace {
+
+////////////////////////////////////////////////////////////////////////////////
+
+TEST(TFutureInteropTest, FromArcadiaFutureWithValue1)
+{
+ auto future = FromArcadiaFuture(::NThreading::MakeFuture<int>(1));
+ ASSERT_TRUE(future.IsSet());
+ EXPECT_EQ(1, future.Get().ValueOrThrow());
+}
+
+TEST(TFutureInteropTest, FromArcadiaFutureWithValue2)
+{
+ ::testing::TProbeState state;
+ auto promise = ::NThreading::NewPromise<::testing::TProbe>();
+ auto future = FromArcadiaFuture(promise.GetFuture());
+ EXPECT_TRUE(!future.IsSet());
+ promise.SetValue(::testing::TProbe(&state));
+ ASSERT_TRUE(future.IsSet());
+ EXPECT_TRUE(future.Get().ValueOrThrow().IsValid());
+ EXPECT_THAT(state, ::testing::HasCopyMoveCounts(0, 3));
+}
+
+TEST(TFutureInteropTest, FromArcadiaFutureWithError1)
+{
+ auto promise = ::NThreading::NewPromise<int>();
+ promise.SetException("error");
+ auto future = FromArcadiaFuture(promise.GetFuture());
+ ASSERT_TRUE(future.IsSet());
+ EXPECT_THROW_MESSAGE_HAS_SUBSTR(future.Get().ThrowOnError(), std::exception, "error");
+}
+
+TEST(TFutureInteropTest, FromArcadiaFutureWithError2)
+{
+ auto promise = ::NThreading::NewPromise<int>();
+ auto future = FromArcadiaFuture(promise.GetFuture());
+ EXPECT_TRUE(!future.IsSet());
+ promise.SetException("error");
+ ASSERT_TRUE(future.IsSet());
+ EXPECT_THROW_MESSAGE_HAS_SUBSTR(future.Get().ThrowOnError(), std::exception, "error");
+}
+
+TEST(TFutureInteropTest, FromArcadiaFutureVoid1)
+{
+ auto promise = ::NThreading::NewPromise<void>();
+ auto future = FromArcadiaFuture(promise.GetFuture());
+ EXPECT_TRUE(!future.IsSet());
+ promise.SetValue();
+ ASSERT_TRUE(future.IsSet());
+ EXPECT_NO_THROW(future.Get().ThrowOnError());
+}
+
+TEST(TFutureInteropTest, FromArcadiaFutureVoid2)
+{
+ auto promise = ::NThreading::NewPromise<void>();
+ auto future = FromArcadiaFuture(promise.GetFuture());
+ EXPECT_TRUE(!future.IsSet());
+ promise.SetException("error");
+ ASSERT_TRUE(future.IsSet());
+ ASSERT_THROW_MESSAGE_HAS_SUBSTR(future.Get().ThrowOnError(), std::exception, "error");
+}
+
+TEST(TFutureInteropTest, FromArcadiaFutureCancel)
+{
+ auto promise = ::NThreading::NewPromise<void>();
+ auto future = FromArcadiaFuture(promise.GetFuture());
+ EXPECT_TRUE(!future.IsSet());
+ future.Cancel(TError("canceled"));
+ promise.SetValue();
+ ASSERT_THROW_MESSAGE_HAS_SUBSTR(future.Get().ThrowOnError(), std::exception, "canceled");
+}
+
+TEST(TFutureInteropTest, ToArcadiaFutureWithValue)
+{
+ ::testing::TProbeState state;
+ auto promise = NewPromise<::testing::TProbe>();
+ auto future = ToArcadiaFuture(promise.ToFuture());
+ EXPECT_FALSE(future.HasValue());
+ promise.Set(::testing::TProbe(&state));
+ ASSERT_TRUE(future.HasValue());
+ EXPECT_TRUE(future.GetValue().IsValid());
+ EXPECT_THAT(state, ::testing::HasCopyMoveCounts(1, 2));
+}
+
+TEST(TFutureInteropTest, ToArcadiaFutureWithError1)
+{
+ ::testing::TProbeState state;
+ auto promise = NewPromise<::testing::TProbe>();
+ auto future = ToArcadiaFuture(promise.ToFuture());
+ EXPECT_FALSE(future.HasValue());
+ promise.Set(TError("error"));
+ ASSERT_TRUE(future.HasException());
+ EXPECT_THROW_MESSAGE_HAS_SUBSTR(future.TryRethrow(), std::exception, "error");
+ EXPECT_THAT(state, ::testing::HasCopyMoveCounts(0, 0));
+}
+
+TEST(TFutureInteropTest, ToArcadiaFutureCanceled)
+{
+ ::testing::TProbeState state;
+ auto promise = NewPromise<::testing::TProbe>();
+ auto future = ToArcadiaFuture(promise.ToFuture());
+ EXPECT_FALSE(future.HasValue());
+
+ promise.ToFuture().Cancel(TError("canceled"));
+ ASSERT_TRUE(future.HasException());
+ EXPECT_THROW_MESSAGE_HAS_SUBSTR(future.TryRethrow(), std::exception, "canceled");
+ EXPECT_THAT(state, ::testing::HasCopyMoveCounts(0, 0));
+}
+
+TEST(TFutureInteropTest, ToArcadiaFutureVoid1)
+{
+ auto promise = NewPromise<void>();
+ auto future = ToArcadiaFuture(promise.ToFuture());
+ EXPECT_FALSE(future.HasValue());
+ promise.Set();
+ EXPECT_TRUE(future.HasValue());
+}
+
+TEST(TFutureInteropTest, ToArcadiaFutureVoid2)
+{
+ auto promise = NewPromise<void>();
+ auto future = ToArcadiaFuture(promise.ToFuture());
+ EXPECT_FALSE(future.HasValue());
+ promise.Set(TError("error"));
+ EXPECT_TRUE(future.HasException());
+ EXPECT_THROW_MESSAGE_HAS_SUBSTR(future.TryRethrow(), std::exception, "error");
+}
+
+////////////////////////////////////////////////////////////////////////////////
+
+} // namespace
+} // namespace NYT:::NConcurrency
diff --git a/yt/yt/core/concurrency/unittests/ya.make b/yt/yt/core/concurrency/unittests/ya.make
index 1d59b915eee..f78e63ebce2 100644
--- a/yt/yt/core/concurrency/unittests/ya.make
+++ b/yt/yt/core/concurrency/unittests/ya.make
@@ -5,6 +5,7 @@ INCLUDE(${ARCADIA_ROOT}/yt/ya_cpp.make.inc)
PROTO_NAMESPACE(yt)
SRCS(
+ arcadia_interop_ut.cpp
async_barrier_ut.cpp
async_looper_ut.cpp
async_rw_lock_ut.cpp
@@ -47,6 +48,7 @@ PEERDIR(
yt/yt/core/test_framework
library/cpp/json/yson
+ library/cpp/threading/future
)
REQUIREMENTS(