diff options
author | dcherednik <dcherednik@ydb.tech> | 2023-07-26 13:03:49 +0300 |
---|---|---|
committer | root <root@qavm-2ed34686.qemu> | 2023-07-26 13:03:49 +0300 |
commit | f9c18a4383b6afaede9f2145460f7a82be4a28c6 (patch) | |
tree | 02534a85153866a0e62fffb27c4e75a2a516581b | |
parent | 4d129f39f3a0fa3f3b1bedc6b9383929c427614d (diff) | |
download | ydb-f9c18a4383b6afaede9f2145460f7a82be4a28c6.tar.gz |
Refactoring. Move session pool files to common place. KIKIMR-18788
16 files changed, 127 insertions, 21 deletions
diff --git a/ydb/public/sdk/cpp/client/impl/ydb_internal/CMakeLists.txt b/ydb/public/sdk/cpp/client/impl/ydb_internal/CMakeLists.txt index 4cbaeff1960..4ec2122f21a 100644 --- a/ydb/public/sdk/cpp/client/impl/ydb_internal/CMakeLists.txt +++ b/ydb/public/sdk/cpp/client/impl/ydb_internal/CMakeLists.txt @@ -13,5 +13,6 @@ add_subdirectory(kqp_session_common) add_subdirectory(logger) add_subdirectory(make_request) add_subdirectory(plain_status) +add_subdirectory(session_pool) add_subdirectory(thread_pool) add_subdirectory(value_helpers) diff --git a/ydb/public/sdk/cpp/client/impl/ydb_internal/session_pool/CMakeLists.darwin-x86_64.txt b/ydb/public/sdk/cpp/client/impl/ydb_internal/session_pool/CMakeLists.darwin-x86_64.txt new file mode 100644 index 00000000000..f46a9677174 --- /dev/null +++ b/ydb/public/sdk/cpp/client/impl/ydb_internal/session_pool/CMakeLists.darwin-x86_64.txt @@ -0,0 +1,21 @@ + +# This file was generated by the build system used internally in the Yandex monorepo. +# Only simple modifications are allowed (adding source-files to targets, adding simple properties +# like target_include_directories). These modifications will be ported to original +# ya.make files by maintainers. Any complex modifications which can't be ported back to the +# original buildsystem will not be accepted. + + + +add_library(impl-ydb_internal-session_pool) +target_link_libraries(impl-ydb_internal-session_pool PUBLIC + contrib-libs-cxxsupp + yutil + cpp-threading-future + api-protos + client-impl-ydb_endpoints + public-issue-protos +) +target_sources(impl-ydb_internal-session_pool PRIVATE + ${CMAKE_SOURCE_DIR}/ydb/public/sdk/cpp/client/impl/ydb_internal/session_pool/session_pool.cpp +) diff --git a/ydb/public/sdk/cpp/client/impl/ydb_internal/session_pool/CMakeLists.linux-aarch64.txt b/ydb/public/sdk/cpp/client/impl/ydb_internal/session_pool/CMakeLists.linux-aarch64.txt new file mode 100644 index 00000000000..6248ba9c489 --- /dev/null +++ b/ydb/public/sdk/cpp/client/impl/ydb_internal/session_pool/CMakeLists.linux-aarch64.txt @@ -0,0 +1,22 @@ + +# This file was generated by the build system used internally in the Yandex monorepo. +# Only simple modifications are allowed (adding source-files to targets, adding simple properties +# like target_include_directories). These modifications will be ported to original +# ya.make files by maintainers. Any complex modifications which can't be ported back to the +# original buildsystem will not be accepted. + + + +add_library(impl-ydb_internal-session_pool) +target_link_libraries(impl-ydb_internal-session_pool PUBLIC + contrib-libs-linux-headers + contrib-libs-cxxsupp + yutil + cpp-threading-future + api-protos + client-impl-ydb_endpoints + public-issue-protos +) +target_sources(impl-ydb_internal-session_pool PRIVATE + ${CMAKE_SOURCE_DIR}/ydb/public/sdk/cpp/client/impl/ydb_internal/session_pool/session_pool.cpp +) diff --git a/ydb/public/sdk/cpp/client/impl/ydb_internal/session_pool/CMakeLists.linux-x86_64.txt b/ydb/public/sdk/cpp/client/impl/ydb_internal/session_pool/CMakeLists.linux-x86_64.txt new file mode 100644 index 00000000000..6248ba9c489 --- /dev/null +++ b/ydb/public/sdk/cpp/client/impl/ydb_internal/session_pool/CMakeLists.linux-x86_64.txt @@ -0,0 +1,22 @@ + +# This file was generated by the build system used internally in the Yandex monorepo. +# Only simple modifications are allowed (adding source-files to targets, adding simple properties +# like target_include_directories). These modifications will be ported to original +# ya.make files by maintainers. Any complex modifications which can't be ported back to the +# original buildsystem will not be accepted. + + + +add_library(impl-ydb_internal-session_pool) +target_link_libraries(impl-ydb_internal-session_pool PUBLIC + contrib-libs-linux-headers + contrib-libs-cxxsupp + yutil + cpp-threading-future + api-protos + client-impl-ydb_endpoints + public-issue-protos +) +target_sources(impl-ydb_internal-session_pool PRIVATE + ${CMAKE_SOURCE_DIR}/ydb/public/sdk/cpp/client/impl/ydb_internal/session_pool/session_pool.cpp +) diff --git a/ydb/public/sdk/cpp/client/impl/ydb_internal/session_pool/CMakeLists.txt b/ydb/public/sdk/cpp/client/impl/ydb_internal/session_pool/CMakeLists.txt new file mode 100644 index 00000000000..f8b31df0c11 --- /dev/null +++ b/ydb/public/sdk/cpp/client/impl/ydb_internal/session_pool/CMakeLists.txt @@ -0,0 +1,17 @@ + +# This file was generated by the build system used internally in the Yandex monorepo. +# Only simple modifications are allowed (adding source-files to targets, adding simple properties +# like target_include_directories). These modifications will be ported to original +# ya.make files by maintainers. Any complex modifications which can't be ported back to the +# original buildsystem will not be accepted. + + +if (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND NOT HAVE_CUDA) + include(CMakeLists.linux-aarch64.txt) +elseif (CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64") + include(CMakeLists.darwin-x86_64.txt) +elseif (WIN32 AND CMAKE_SYSTEM_PROCESSOR STREQUAL "AMD64" AND NOT HAVE_CUDA) + include(CMakeLists.windows-x86_64.txt) +elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND NOT HAVE_CUDA) + include(CMakeLists.linux-x86_64.txt) +endif() diff --git a/ydb/public/sdk/cpp/client/impl/ydb_internal/session_pool/CMakeLists.windows-x86_64.txt b/ydb/public/sdk/cpp/client/impl/ydb_internal/session_pool/CMakeLists.windows-x86_64.txt new file mode 100644 index 00000000000..f46a9677174 --- /dev/null +++ b/ydb/public/sdk/cpp/client/impl/ydb_internal/session_pool/CMakeLists.windows-x86_64.txt @@ -0,0 +1,21 @@ + +# This file was generated by the build system used internally in the Yandex monorepo. +# Only simple modifications are allowed (adding source-files to targets, adding simple properties +# like target_include_directories). These modifications will be ported to original +# ya.make files by maintainers. Any complex modifications which can't be ported back to the +# original buildsystem will not be accepted. + + + +add_library(impl-ydb_internal-session_pool) +target_link_libraries(impl-ydb_internal-session_pool PUBLIC + contrib-libs-cxxsupp + yutil + cpp-threading-future + api-protos + client-impl-ydb_endpoints + public-issue-protos +) +target_sources(impl-ydb_internal-session_pool PRIVATE + ${CMAKE_SOURCE_DIR}/ydb/public/sdk/cpp/client/impl/ydb_internal/session_pool/session_pool.cpp +) diff --git a/ydb/public/sdk/cpp/client/ydb_table/impl/session_pool.cpp b/ydb/public/sdk/cpp/client/impl/ydb_internal/session_pool/session_pool.cpp index da9df168c23..4b7310084bd 100644 --- a/ydb/public/sdk/cpp/client/ydb_table/impl/session_pool.cpp +++ b/ydb/public/sdk/cpp/client/impl/ydb_internal/session_pool/session_pool.cpp @@ -5,7 +5,7 @@ #undef INCLUDE_YDB_INTERNAL_H namespace NYdb { -namespace NTable { +namespace NSessionPool { using namespace NThreading; diff --git a/ydb/public/sdk/cpp/client/ydb_table/impl/session_pool.h b/ydb/public/sdk/cpp/client/impl/ydb_internal/session_pool/session_pool.h index 61da9aa2ee4..561f5e119f9 100644 --- a/ydb/public/sdk/cpp/client/ydb_table/impl/session_pool.h +++ b/ydb/public/sdk/cpp/client/impl/ydb_internal/session_pool/session_pool.h @@ -18,13 +18,6 @@ public: virtual void ReplyNewSession() = 0; }; -} - -namespace NTable { - -using namespace NThreading; -using namespace NSessionPool; - constexpr TDuration MAX_WAIT_SESSION_TIMEOUT = TDuration::Seconds(5); //Max time to wait session constexpr ui64 PERIODIC_ACTION_BATCH_SIZE = 10; //Max number of tasks to perform during one interval constexpr TDuration CREATE_SESSION_INTERNAL_TIMEOUT = TDuration::Seconds(2); //Timeout for createSession call inside session pool diff --git a/ydb/public/sdk/cpp/client/impl/ydb_internal/session_pool/ya.make b/ydb/public/sdk/cpp/client/impl/ydb_internal/session_pool/ya.make new file mode 100644 index 00000000000..9e3c6beae85 --- /dev/null +++ b/ydb/public/sdk/cpp/client/impl/ydb_internal/session_pool/ya.make @@ -0,0 +1,14 @@ +LIBRARY() + +SRCS( + session_pool.cpp +) + +PEERDIR( + library/cpp/threading/future + ydb/public/api/protos + ydb/public/sdk/cpp/client/impl/ydb_endpoints + ydb/library/yql/public/issue/protos +) + +END() diff --git a/ydb/public/sdk/cpp/client/resources/ydb_sdk_version.txt b/ydb/public/sdk/cpp/client/resources/ydb_sdk_version.txt index d21aa93ccd4..160fe391c82 100644 --- a/ydb/public/sdk/cpp/client/resources/ydb_sdk_version.txt +++ b/ydb/public/sdk/cpp/client/resources/ydb_sdk_version.txt @@ -1 +1 @@ -2.5.4
\ No newline at end of file +2.5.5
\ No newline at end of file diff --git a/ydb/public/sdk/cpp/client/ydb_table/impl/CMakeLists.darwin-x86_64.txt b/ydb/public/sdk/cpp/client/ydb_table/impl/CMakeLists.darwin-x86_64.txt index a82f241d2ce..1b69401e712 100644 --- a/ydb/public/sdk/cpp/client/ydb_table/impl/CMakeLists.darwin-x86_64.txt +++ b/ydb/public/sdk/cpp/client/ydb_table/impl/CMakeLists.darwin-x86_64.txt @@ -15,6 +15,7 @@ target_link_libraries(client-ydb_table-impl PUBLIC api-protos lib-operation_id-protos client-impl-ydb_endpoints + impl-ydb_internal-session_pool client-ydb_table-query_stats public-issue-protos ) @@ -23,6 +24,5 @@ target_sources(client-ydb_table-impl PRIVATE ${CMAKE_SOURCE_DIR}/ydb/public/sdk/cpp/client/ydb_table/impl/data_query.cpp ${CMAKE_SOURCE_DIR}/ydb/public/sdk/cpp/client/ydb_table/impl/readers.cpp ${CMAKE_SOURCE_DIR}/ydb/public/sdk/cpp/client/ydb_table/impl/request_migrator.cpp - ${CMAKE_SOURCE_DIR}/ydb/public/sdk/cpp/client/ydb_table/impl/session_pool.cpp ${CMAKE_SOURCE_DIR}/ydb/public/sdk/cpp/client/ydb_table/impl/table_client.cpp ) diff --git a/ydb/public/sdk/cpp/client/ydb_table/impl/CMakeLists.linux-aarch64.txt b/ydb/public/sdk/cpp/client/ydb_table/impl/CMakeLists.linux-aarch64.txt index b3b691a276b..7d2b31b3998 100644 --- a/ydb/public/sdk/cpp/client/ydb_table/impl/CMakeLists.linux-aarch64.txt +++ b/ydb/public/sdk/cpp/client/ydb_table/impl/CMakeLists.linux-aarch64.txt @@ -16,6 +16,7 @@ target_link_libraries(client-ydb_table-impl PUBLIC api-protos lib-operation_id-protos client-impl-ydb_endpoints + impl-ydb_internal-session_pool client-ydb_table-query_stats public-issue-protos ) @@ -24,6 +25,5 @@ target_sources(client-ydb_table-impl PRIVATE ${CMAKE_SOURCE_DIR}/ydb/public/sdk/cpp/client/ydb_table/impl/data_query.cpp ${CMAKE_SOURCE_DIR}/ydb/public/sdk/cpp/client/ydb_table/impl/readers.cpp ${CMAKE_SOURCE_DIR}/ydb/public/sdk/cpp/client/ydb_table/impl/request_migrator.cpp - ${CMAKE_SOURCE_DIR}/ydb/public/sdk/cpp/client/ydb_table/impl/session_pool.cpp ${CMAKE_SOURCE_DIR}/ydb/public/sdk/cpp/client/ydb_table/impl/table_client.cpp ) diff --git a/ydb/public/sdk/cpp/client/ydb_table/impl/CMakeLists.linux-x86_64.txt b/ydb/public/sdk/cpp/client/ydb_table/impl/CMakeLists.linux-x86_64.txt index b3b691a276b..7d2b31b3998 100644 --- a/ydb/public/sdk/cpp/client/ydb_table/impl/CMakeLists.linux-x86_64.txt +++ b/ydb/public/sdk/cpp/client/ydb_table/impl/CMakeLists.linux-x86_64.txt @@ -16,6 +16,7 @@ target_link_libraries(client-ydb_table-impl PUBLIC api-protos lib-operation_id-protos client-impl-ydb_endpoints + impl-ydb_internal-session_pool client-ydb_table-query_stats public-issue-protos ) @@ -24,6 +25,5 @@ target_sources(client-ydb_table-impl PRIVATE ${CMAKE_SOURCE_DIR}/ydb/public/sdk/cpp/client/ydb_table/impl/data_query.cpp ${CMAKE_SOURCE_DIR}/ydb/public/sdk/cpp/client/ydb_table/impl/readers.cpp ${CMAKE_SOURCE_DIR}/ydb/public/sdk/cpp/client/ydb_table/impl/request_migrator.cpp - ${CMAKE_SOURCE_DIR}/ydb/public/sdk/cpp/client/ydb_table/impl/session_pool.cpp ${CMAKE_SOURCE_DIR}/ydb/public/sdk/cpp/client/ydb_table/impl/table_client.cpp ) diff --git a/ydb/public/sdk/cpp/client/ydb_table/impl/CMakeLists.windows-x86_64.txt b/ydb/public/sdk/cpp/client/ydb_table/impl/CMakeLists.windows-x86_64.txt index a82f241d2ce..1b69401e712 100644 --- a/ydb/public/sdk/cpp/client/ydb_table/impl/CMakeLists.windows-x86_64.txt +++ b/ydb/public/sdk/cpp/client/ydb_table/impl/CMakeLists.windows-x86_64.txt @@ -15,6 +15,7 @@ target_link_libraries(client-ydb_table-impl PUBLIC api-protos lib-operation_id-protos client-impl-ydb_endpoints + impl-ydb_internal-session_pool client-ydb_table-query_stats public-issue-protos ) @@ -23,6 +24,5 @@ target_sources(client-ydb_table-impl PRIVATE ${CMAKE_SOURCE_DIR}/ydb/public/sdk/cpp/client/ydb_table/impl/data_query.cpp ${CMAKE_SOURCE_DIR}/ydb/public/sdk/cpp/client/ydb_table/impl/readers.cpp ${CMAKE_SOURCE_DIR}/ydb/public/sdk/cpp/client/ydb_table/impl/request_migrator.cpp - ${CMAKE_SOURCE_DIR}/ydb/public/sdk/cpp/client/ydb_table/impl/session_pool.cpp ${CMAKE_SOURCE_DIR}/ydb/public/sdk/cpp/client/ydb_table/impl/table_client.cpp ) diff --git a/ydb/public/sdk/cpp/client/ydb_table/impl/table_client.h b/ydb/public/sdk/cpp/client/ydb_table/impl/table_client.h index 6d4c3aec1e8..3b73e782822 100644 --- a/ydb/public/sdk/cpp/client/ydb_table/impl/table_client.h +++ b/ydb/public/sdk/cpp/client/ydb_table/impl/table_client.h @@ -5,6 +5,7 @@ #include <ydb/public/sdk/cpp/client/impl/ydb_internal/scheme_helpers/helpers.h> #include <ydb/public/sdk/cpp/client/impl/ydb_internal/table_helpers/helpers.h> #include <ydb/public/sdk/cpp/client/impl/ydb_internal/make_request/make.h> +#include <ydb/public/sdk/cpp/client/impl/ydb_internal/session_pool/session_pool.h> #undef INCLUDE_YDB_INTERNAL_H #include <ydb/public/sdk/cpp/client/resources/ydb_resources.h> @@ -18,15 +19,11 @@ #include "data_query.h" #include "request_migrator.h" #include "readers.h" -#include "session_pool.h" namespace NYdb { namespace NTable { -using namespace NThreading; - - //How often run session pool keep alive check constexpr TDuration PERIODIC_ACTION_INTERVAL = TDuration::Seconds(5); //How ofter run host scan to perform session balancing @@ -35,7 +32,6 @@ constexpr ui64 KEEP_ALIVE_RANDOM_FRACTION = 4; constexpr ui32 MAX_BACKOFF_DURATION_MS = TDuration::Hours(1).MilliSeconds(); constexpr TDuration KEEP_ALIVE_CLIENT_TIMEOUT = TDuration::Seconds(5); - TDuration GetMinTimeToTouch(const TSessionPoolSettings& settings); TDuration GetMaxTimeToTouch(const TSessionPoolSettings& settings); ui32 CalcBackoffTime(const TBackoffSettings& settings, ui32 retryNumber); @@ -46,7 +42,6 @@ TDuration GetMaxTimeToTouch(const TSessionPoolSettings& settings); TStatus GetStatus(const TOperation& operation); TStatus GetStatus(const TStatus& status); - template<typename TResponse> NThreading::TFuture<TResponse> InjectSessionStatusInterception( std::shared_ptr<TSession::TImpl>& impl, NThreading::TFuture<TResponse> asyncResponse, @@ -357,7 +352,7 @@ public: NSdkStats::TAtomicCounter<::NMonitoring::TRate> RequestMigrated; private: - TSessionPool SessionPool_; + NSessionPool::TSessionPool SessionPool_; TRequestMigrator RequestMigrator_; static const TKeepAliveSettings KeepAliveSettings; }; diff --git a/ydb/public/sdk/cpp/client/ydb_table/impl/ya.make b/ydb/public/sdk/cpp/client/ydb_table/impl/ya.make index 6aefb9f845c..58b9b082880 100644 --- a/ydb/public/sdk/cpp/client/ydb_table/impl/ya.make +++ b/ydb/public/sdk/cpp/client/ydb_table/impl/ya.make @@ -5,7 +5,6 @@ SRCS( data_query.cpp readers.cpp request_migrator.cpp - session_pool.cpp table_client.cpp ) @@ -14,6 +13,7 @@ PEERDIR( ydb/public/api/protos ydb/public/lib/operation_id/protos ydb/public/sdk/cpp/client/impl/ydb_endpoints + ydb/public/sdk/cpp/client/impl/ydb_internal/session_pool ydb/public/sdk/cpp/client/ydb_table/query_stats ydb/library/yql/public/issue/protos ) |