diff options
author | ildar-khisam <ikhis@ydb.tech> | 2023-03-28 11:04:52 +0300 |
---|---|---|
committer | ildar-khisam <ikhis@ydb.tech> | 2023-03-28 11:04:52 +0300 |
commit | 9e5d7d682bce0f3a29648134d5ebb5b2fd4c1409 (patch) | |
tree | a7b96509363de0ba60371dd291250ace62e696ba | |
parent | a2f9b2f93862e68c7b57afc968ba8dd79f7b66d2 (diff) | |
download | ydb-9e5d7d682bce0f3a29648134d5ebb5b2fd4c1409.tar.gz |
add federation discovery service protos draft
add federation discovery service protos draft
-rw-r--r-- | ydb/core/driver_lib/run/run.cpp | 2 | ||||
-rw-r--r-- | ydb/core/grpc_services/base/base.h | 1 | ||||
-rw-r--r-- | ydb/core/grpc_services/rpc_calls.h | 2 | ||||
-rw-r--r-- | ydb/core/protos/pqconfig.proto | 2 | ||||
-rw-r--r-- | ydb/core/protos/services.proto | 1 | ||||
-rw-r--r-- | ydb/core/testlib/test_client.cpp | 2 | ||||
-rw-r--r-- | ydb/public/api/grpc/CMakeLists.darwin-x86_64.txt | 13 | ||||
-rw-r--r-- | ydb/public/api/grpc/CMakeLists.linux-aarch64.txt | 13 | ||||
-rw-r--r-- | ydb/public/api/grpc/CMakeLists.linux-x86_64.txt | 13 | ||||
-rw-r--r-- | ydb/public/api/grpc/CMakeLists.windows-x86_64.txt | 13 | ||||
-rw-r--r-- | ydb/public/api/grpc/federation_discovery_v1.proto | 12 | ||||
-rw-r--r-- | ydb/public/api/grpc/ya.make | 1 | ||||
-rw-r--r-- | ydb/public/api/protos/CMakeLists.darwin-x86_64.txt | 13 | ||||
-rw-r--r-- | ydb/public/api/protos/CMakeLists.linux-aarch64.txt | 13 | ||||
-rw-r--r-- | ydb/public/api/protos/CMakeLists.linux-x86_64.txt | 13 | ||||
-rw-r--r-- | ydb/public/api/protos/CMakeLists.windows-x86_64.txt | 13 | ||||
-rw-r--r-- | ydb/public/api/protos/federation_discovery.proto | 45 | ||||
-rw-r--r-- | ydb/public/api/protos/ya.make | 1 |
18 files changed, 171 insertions, 2 deletions
diff --git a/ydb/core/driver_lib/run/run.cpp b/ydb/core/driver_lib/run/run.cpp index 2030a1bf4e0..95d9a3367c6 100644 --- a/ydb/core/driver_lib/run/run.cpp +++ b/ydb/core/driver_lib/run/run.cpp @@ -899,7 +899,7 @@ void TKikimrRunner::InitializeGRpc(const TKikimrRunConfig& runConfig) { opts.SetKeepAliveEnable(false); } } - + NConsole::SetGRpcLibraryFunction(); #define GET_PATH_TO_FILE(GRPC_CONFIG, PRIMARY_FIELD, SECONDARY_FIELD) \ diff --git a/ydb/core/grpc_services/base/base.h b/ydb/core/grpc_services/base/base.h index 07d5733d0e9..af1585462df 100644 --- a/ydb/core/grpc_services/base/base.h +++ b/ydb/core/grpc_services/base/base.h @@ -108,6 +108,7 @@ struct TRpcServices { EvListOperations, EvExportToYt, EvDiscoverPQClusters, + EvListFederationDatabases, EvBulkUpsert, EvWhoAmI, EvKikhouseDescribeTable, diff --git a/ydb/core/grpc_services/rpc_calls.h b/ydb/core/grpc_services/rpc_calls.h index bd988c76379..e495b552dee 100644 --- a/ydb/core/grpc_services/rpc_calls.h +++ b/ydb/core/grpc_services/rpc_calls.h @@ -17,6 +17,7 @@ #include <ydb/public/api/protos/ydb_persqueue_cluster_discovery.pb.h> #include <ydb/public/api/protos/ydb_persqueue_v1.pb.h> #include <ydb/public/api/protos/ydb_topic.pb.h> +#include <ydb/public/api/protos/federation_discovery.pb.h> #include <ydb/public/api/grpc/draft/dummy.pb.h> @@ -82,6 +83,7 @@ using TEvDescribeTopicRequest = TGRpcRequestValidationWrapper<TRpcServices::EvDe using TEvDescribeConsumerRequest = TGRpcRequestValidationWrapper<TRpcServices::EvDescribeConsumer, Ydb::Topic::DescribeConsumerRequest, Ydb::Topic::DescribeConsumerResponse, true, TRateLimiterMode::Rps>; using TEvDiscoverPQClustersRequest = TGRpcRequestWrapper<TRpcServices::EvDiscoverPQClusters, Ydb::PersQueue::ClusterDiscovery::DiscoverClustersRequest, Ydb::PersQueue::ClusterDiscovery::DiscoverClustersResponse, true>; +using TEvListFederationDatabasesRequest = TGRpcRequestWrapper<TRpcServices::EvListFederationDatabases, Ydb::FederationDiscovery::ListFederationDatabasesRequest, Ydb::FederationDiscovery::ListFederationDatabasesResponse, true>; using TEvLoginRequest = TGRpcRequestWrapperNoAuth<TRpcServices::EvLogin, Ydb::Auth::LoginRequest, Ydb::Auth::LoginResponse>; using TEvNodeCheckRequest = TGRpcRequestWrapperNoAuth<TRpcServices::EvNodeCheckRequest, Ydb::Monitoring::NodeCheckRequest, Ydb::Monitoring::NodeCheckResponse>; diff --git a/ydb/core/protos/pqconfig.proto b/ydb/core/protos/pqconfig.proto index 45a3e05ef93..d9e6678ce42 100644 --- a/ydb/core/protos/pqconfig.proto +++ b/ydb/core/protos/pqconfig.proto @@ -757,6 +757,8 @@ message TPQClusterDiscoveryConfig { optional uint32 TimedCountersUpdateIntervalSeconds = 2 [default = 15]; optional NKikimrNetClassifier.TNetData CloudNetData = 3; optional uint64 RequestInflightLimit = 4; + optional string ControlPlaneEndpoint = 5; + optional string FederationPathPrefix = 6; } message TYdsNextToken { diff --git a/ydb/core/protos/services.proto b/ydb/core/protos/services.proto index 3992f2c43aa..13fa38abcef 100644 --- a/ydb/core/protos/services.proto +++ b/ydb/core/protos/services.proto @@ -978,5 +978,6 @@ message TActivity { DISCOVERY_CACHE_ACTOR = 608; REPLICATION_SERVICE = 609; KQP_SOURCE_READ_ACTOR = 610; + FEDERATION_DISCOVERY = 611; }; }; diff --git a/ydb/core/testlib/test_client.cpp b/ydb/core/testlib/test_client.cpp index 614ad66dda4..d7ee0da48df 100644 --- a/ydb/core/testlib/test_client.cpp +++ b/ydb/core/testlib/test_client.cpp @@ -319,7 +319,7 @@ namespace Tests { } desc->ServedDatabases.insert(desc->ServedDatabases.end(), rootDomains.begin(), rootDomains.end()); - TVector<TString> grpcServices = {"yql", "clickhouse_internal", "datastreams", "table_service", "scripting", "experimental", "discovery", "pqcd", "pq", "pqv1" }; + TVector<TString> grpcServices = {"yql", "clickhouse_internal", "datastreams", "table_service", "scripting", "experimental", "discovery", "pqcd", "fds", "pq", "pqv1" }; desc->ServedServices.insert(desc->ServedServices.end(), grpcServices.begin(), grpcServices.end()); system->Register(NGRpcService::CreateGrpcEndpointPublishActor(desc.Get()), TMailboxType::ReadAsFilled, appData.UserPoolId); diff --git a/ydb/public/api/grpc/CMakeLists.darwin-x86_64.txt b/ydb/public/api/grpc/CMakeLists.darwin-x86_64.txt index 07560fa6c5e..998d49d8d01 100644 --- a/ydb/public/api/grpc/CMakeLists.darwin-x86_64.txt +++ b/ydb/public/api/grpc/CMakeLists.darwin-x86_64.txt @@ -169,6 +169,18 @@ get_built_tool_path( contrib/tools/protoc/plugins/cpp_styleguide cpp_styleguide ) +get_built_tool_path( + TOOL_protoc_bin + TOOL_protoc_dependency + contrib/tools/protoc/bin + protoc +) +get_built_tool_path( + TOOL_cpp_styleguide_bin + TOOL_cpp_styleguide_dependency + contrib/tools/protoc/plugins/cpp_styleguide + cpp_styleguide +) add_library(api-grpc) set_property(TARGET api-grpc PROPERTY @@ -182,6 +194,7 @@ target_link_libraries(api-grpc PUBLIC contrib-libs-protobuf ) target_proto_messages(api-grpc PRIVATE + ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/federation_discovery_v1.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/ydb_auth_v1.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/ydb_cms_v1.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/ydb_coordination_v1.proto diff --git a/ydb/public/api/grpc/CMakeLists.linux-aarch64.txt b/ydb/public/api/grpc/CMakeLists.linux-aarch64.txt index d0aa641e306..c9ab82eab0f 100644 --- a/ydb/public/api/grpc/CMakeLists.linux-aarch64.txt +++ b/ydb/public/api/grpc/CMakeLists.linux-aarch64.txt @@ -169,6 +169,18 @@ get_built_tool_path( contrib/tools/protoc/plugins/cpp_styleguide cpp_styleguide ) +get_built_tool_path( + TOOL_protoc_bin + TOOL_protoc_dependency + contrib/tools/protoc/bin + protoc +) +get_built_tool_path( + TOOL_cpp_styleguide_bin + TOOL_cpp_styleguide_dependency + contrib/tools/protoc/plugins/cpp_styleguide + cpp_styleguide +) add_library(api-grpc) set_property(TARGET api-grpc PROPERTY @@ -183,6 +195,7 @@ target_link_libraries(api-grpc PUBLIC contrib-libs-protobuf ) target_proto_messages(api-grpc PRIVATE + ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/federation_discovery_v1.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/ydb_auth_v1.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/ydb_cms_v1.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/ydb_coordination_v1.proto diff --git a/ydb/public/api/grpc/CMakeLists.linux-x86_64.txt b/ydb/public/api/grpc/CMakeLists.linux-x86_64.txt index d0aa641e306..c9ab82eab0f 100644 --- a/ydb/public/api/grpc/CMakeLists.linux-x86_64.txt +++ b/ydb/public/api/grpc/CMakeLists.linux-x86_64.txt @@ -169,6 +169,18 @@ get_built_tool_path( contrib/tools/protoc/plugins/cpp_styleguide cpp_styleguide ) +get_built_tool_path( + TOOL_protoc_bin + TOOL_protoc_dependency + contrib/tools/protoc/bin + protoc +) +get_built_tool_path( + TOOL_cpp_styleguide_bin + TOOL_cpp_styleguide_dependency + contrib/tools/protoc/plugins/cpp_styleguide + cpp_styleguide +) add_library(api-grpc) set_property(TARGET api-grpc PROPERTY @@ -183,6 +195,7 @@ target_link_libraries(api-grpc PUBLIC contrib-libs-protobuf ) target_proto_messages(api-grpc PRIVATE + ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/federation_discovery_v1.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/ydb_auth_v1.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/ydb_cms_v1.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/ydb_coordination_v1.proto diff --git a/ydb/public/api/grpc/CMakeLists.windows-x86_64.txt b/ydb/public/api/grpc/CMakeLists.windows-x86_64.txt index 07560fa6c5e..998d49d8d01 100644 --- a/ydb/public/api/grpc/CMakeLists.windows-x86_64.txt +++ b/ydb/public/api/grpc/CMakeLists.windows-x86_64.txt @@ -169,6 +169,18 @@ get_built_tool_path( contrib/tools/protoc/plugins/cpp_styleguide cpp_styleguide ) +get_built_tool_path( + TOOL_protoc_bin + TOOL_protoc_dependency + contrib/tools/protoc/bin + protoc +) +get_built_tool_path( + TOOL_cpp_styleguide_bin + TOOL_cpp_styleguide_dependency + contrib/tools/protoc/plugins/cpp_styleguide + cpp_styleguide +) add_library(api-grpc) set_property(TARGET api-grpc PROPERTY @@ -182,6 +194,7 @@ target_link_libraries(api-grpc PUBLIC contrib-libs-protobuf ) target_proto_messages(api-grpc PRIVATE + ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/federation_discovery_v1.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/ydb_auth_v1.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/ydb_cms_v1.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/grpc/ydb_coordination_v1.proto diff --git a/ydb/public/api/grpc/federation_discovery_v1.proto b/ydb/public/api/grpc/federation_discovery_v1.proto new file mode 100644 index 00000000000..59646b06234 --- /dev/null +++ b/ydb/public/api/grpc/federation_discovery_v1.proto @@ -0,0 +1,12 @@ +syntax = "proto3"; + +package Ydb.FederationDiscovery.V1; +option java_package = "com.yandex.ydb.federation_discovery.v1"; + +import "ydb/public/api/protos/federation_discovery.proto"; + +service FederationDiscoveryService { + // Get list of databases. + rpc ListFederationDatabases(Ydb.FederationDiscovery.ListFederationDatabasesRequest) + returns (Ydb.FederationDiscovery.ListFederationDatabasesResponse); +} diff --git a/ydb/public/api/grpc/ya.make b/ydb/public/api/grpc/ya.make index b9b95cc3424..d05c10bf35e 100644 --- a/ydb/public/api/grpc/ya.make +++ b/ydb/public/api/grpc/ya.make @@ -5,6 +5,7 @@ MAVEN_GROUP_ID(com.yandex.ydb) GRPC() SRCS( + federation_discovery_v1.proto ydb_auth_v1.proto ydb_cms_v1.proto ydb_coordination_v1.proto diff --git a/ydb/public/api/protos/CMakeLists.darwin-x86_64.txt b/ydb/public/api/protos/CMakeLists.darwin-x86_64.txt index 8f002a3d9ff..595db31cb12 100644 --- a/ydb/public/api/protos/CMakeLists.darwin-x86_64.txt +++ b/ydb/public/api/protos/CMakeLists.darwin-x86_64.txt @@ -399,6 +399,18 @@ get_built_tool_path( cpp_styleguide ) get_built_tool_path( + TOOL_protoc_bin + TOOL_protoc_dependency + contrib/tools/protoc/bin + protoc +) +get_built_tool_path( + TOOL_cpp_styleguide_bin + TOOL_cpp_styleguide_dependency + contrib/tools/protoc/plugins/cpp_styleguide + cpp_styleguide +) +get_built_tool_path( TOOL_enum_parser_bin TOOL_enum_parser_dependency tools/enum_parser/enum_parser @@ -441,6 +453,7 @@ target_proto_messages(api-protos PRIVATE ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/draft/ydb_logstore.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/draft/ydb_query.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/draft/ydb_console.proto + ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/federation_discovery.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/persqueue_error_codes_v1.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/ydb_auth.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/ydb_persqueue_v1.proto diff --git a/ydb/public/api/protos/CMakeLists.linux-aarch64.txt b/ydb/public/api/protos/CMakeLists.linux-aarch64.txt index 45215002821..16f9fa20cf5 100644 --- a/ydb/public/api/protos/CMakeLists.linux-aarch64.txt +++ b/ydb/public/api/protos/CMakeLists.linux-aarch64.txt @@ -399,6 +399,18 @@ get_built_tool_path( cpp_styleguide ) get_built_tool_path( + TOOL_protoc_bin + TOOL_protoc_dependency + contrib/tools/protoc/bin + protoc +) +get_built_tool_path( + TOOL_cpp_styleguide_bin + TOOL_cpp_styleguide_dependency + contrib/tools/protoc/plugins/cpp_styleguide + cpp_styleguide +) +get_built_tool_path( TOOL_enum_parser_bin TOOL_enum_parser_dependency tools/enum_parser/enum_parser @@ -442,6 +454,7 @@ target_proto_messages(api-protos PRIVATE ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/draft/ydb_logstore.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/draft/ydb_query.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/draft/ydb_console.proto + ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/federation_discovery.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/persqueue_error_codes_v1.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/ydb_auth.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/ydb_persqueue_v1.proto diff --git a/ydb/public/api/protos/CMakeLists.linux-x86_64.txt b/ydb/public/api/protos/CMakeLists.linux-x86_64.txt index 45215002821..16f9fa20cf5 100644 --- a/ydb/public/api/protos/CMakeLists.linux-x86_64.txt +++ b/ydb/public/api/protos/CMakeLists.linux-x86_64.txt @@ -399,6 +399,18 @@ get_built_tool_path( cpp_styleguide ) get_built_tool_path( + TOOL_protoc_bin + TOOL_protoc_dependency + contrib/tools/protoc/bin + protoc +) +get_built_tool_path( + TOOL_cpp_styleguide_bin + TOOL_cpp_styleguide_dependency + contrib/tools/protoc/plugins/cpp_styleguide + cpp_styleguide +) +get_built_tool_path( TOOL_enum_parser_bin TOOL_enum_parser_dependency tools/enum_parser/enum_parser @@ -442,6 +454,7 @@ target_proto_messages(api-protos PRIVATE ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/draft/ydb_logstore.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/draft/ydb_query.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/draft/ydb_console.proto + ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/federation_discovery.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/persqueue_error_codes_v1.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/ydb_auth.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/ydb_persqueue_v1.proto diff --git a/ydb/public/api/protos/CMakeLists.windows-x86_64.txt b/ydb/public/api/protos/CMakeLists.windows-x86_64.txt index 8f002a3d9ff..595db31cb12 100644 --- a/ydb/public/api/protos/CMakeLists.windows-x86_64.txt +++ b/ydb/public/api/protos/CMakeLists.windows-x86_64.txt @@ -399,6 +399,18 @@ get_built_tool_path( cpp_styleguide ) get_built_tool_path( + TOOL_protoc_bin + TOOL_protoc_dependency + contrib/tools/protoc/bin + protoc +) +get_built_tool_path( + TOOL_cpp_styleguide_bin + TOOL_cpp_styleguide_dependency + contrib/tools/protoc/plugins/cpp_styleguide + cpp_styleguide +) +get_built_tool_path( TOOL_enum_parser_bin TOOL_enum_parser_dependency tools/enum_parser/enum_parser @@ -441,6 +453,7 @@ target_proto_messages(api-protos PRIVATE ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/draft/ydb_logstore.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/draft/ydb_query.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/draft/ydb_console.proto + ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/federation_discovery.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/persqueue_error_codes_v1.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/ydb_auth.proto ${CMAKE_SOURCE_DIR}/ydb/public/api/protos/ydb_persqueue_v1.proto diff --git a/ydb/public/api/protos/federation_discovery.proto b/ydb/public/api/protos/federation_discovery.proto new file mode 100644 index 00000000000..aa40ab0f12e --- /dev/null +++ b/ydb/public/api/protos/federation_discovery.proto @@ -0,0 +1,45 @@ +syntax = "proto3"; +option cc_enable_arenas = true; + +package Ydb.FederationDiscovery; +option java_package = "com.yandex.ydb.federation_discovery"; +option java_outer_classname = "FederationDiscoveryProtos"; + +import "ydb/public/api/protos/ydb_operation.proto"; + +message DatabaseInfo { + enum Status { + STATUS_UNSPECIFIED = 0; + AVAILABLE = 1; + READ_ONLY = 2; + UNAVAILABLE = 3; + } + + string name = 1; + string path = 2; + string id = 3; + string endpoint = 4; + + // for single datacenter databases + string location = 5; + + Status status = 6; + + // to determine this database priority on the client side + int64 weight = 7; +} + +message ListFederationDatabasesRequest { +} + +message ListFederationDatabasesResponse { + // Operation contains the result of the request. Check the ydb_operation.proto. + Ydb.Operations.Operation operation = 1; +} + +message ListFederationDatabasesResult { + string control_plane_endpoint = 1; + repeated DatabaseInfo federation_databases = 2; + + string self_location = 3; +} diff --git a/ydb/public/api/protos/ya.make b/ydb/public/api/protos/ya.make index 2183977fe79..0e65f304718 100644 --- a/ydb/public/api/protos/ya.make +++ b/ydb/public/api/protos/ya.make @@ -16,6 +16,7 @@ SRCS( draft/ydb_logstore.proto draft/ydb_query.proto draft/ydb_console.proto + federation_discovery.proto persqueue_error_codes_v1.proto ydb_auth.proto ydb_persqueue_v1.proto |