aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorildar-khisam <ikhis@ydb.tech>2023-03-28 11:04:52 +0300
committerildar-khisam <ikhis@ydb.tech>2023-03-28 11:04:52 +0300
commit9e5d7d682bce0f3a29648134d5ebb5b2fd4c1409 (patch)
treea7b96509363de0ba60371dd291250ace62e696ba
parenta2f9b2f93862e68c7b57afc968ba8dd79f7b66d2 (diff)
downloadydb-9e5d7d682bce0f3a29648134d5ebb5b2fd4c1409.tar.gz
add federation discovery service protos draft
add federation discovery service protos draft
-rw-r--r--ydb/core/driver_lib/run/run.cpp2
-rw-r--r--ydb/core/grpc_services/base/base.h1
-rw-r--r--ydb/core/grpc_services/rpc_calls.h2
-rw-r--r--ydb/core/protos/pqconfig.proto2
-rw-r--r--ydb/core/protos/services.proto1
-rw-r--r--ydb/core/testlib/test_client.cpp2
-rw-r--r--ydb/public/api/grpc/CMakeLists.darwin-x86_64.txt13
-rw-r--r--ydb/public/api/grpc/CMakeLists.linux-aarch64.txt13
-rw-r--r--ydb/public/api/grpc/CMakeLists.linux-x86_64.txt13
-rw-r--r--ydb/public/api/grpc/CMakeLists.windows-x86_64.txt13
-rw-r--r--ydb/public/api/grpc/federation_discovery_v1.proto12
-rw-r--r--ydb/public/api/grpc/ya.make1
-rw-r--r--ydb/public/api/protos/CMakeLists.darwin-x86_64.txt13
-rw-r--r--ydb/public/api/protos/CMakeLists.linux-aarch64.txt13
-rw-r--r--ydb/public/api/protos/CMakeLists.linux-x86_64.txt13
-rw-r--r--ydb/public/api/protos/CMakeLists.windows-x86_64.txt13
-rw-r--r--ydb/public/api/protos/federation_discovery.proto45
-rw-r--r--ydb/public/api/protos/ya.make1
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