Browse Source

increase grpc call timeout in TMonitoringGrpcServiceActor (#10734)

uzhastik 4 months ago
parent
commit
7286db0617

+ 6 - 2
ydb/core/fq/libs/compute/ydb/control_plane/compute_database_control_plane_service.cpp

@@ -364,17 +364,21 @@ public:
         return settings;
     }
 
-    static NGrpcActorClient::TGrpcClientSettings CreateGrpcClientSettings(const NConfig::TComputeDatabaseConfig& config) {
+    static NGrpcActorClient::TGrpcClientSettings CreateGrpcClientSettings(const auto& connection) {
         NGrpcActorClient::TGrpcClientSettings settings;
-        const auto& connection = config.GetControlPlaneConnection();
         settings.Endpoint = connection.GetEndpoint();
         settings.EnableSsl = connection.GetUseSsl();
         if (connection.GetCertificateFile()) {
             settings.CertificateRootCA = StripString(TFileInput(connection.GetCertificateFile()).ReadAll());
         }
+        settings.RequestTimeoutMs = 20 * 1000; // todo: read from config
         return settings;
     }
 
+    static NGrpcActorClient::TGrpcClientSettings CreateGrpcClientSettings(const NConfig::TComputeDatabaseConfig& config) {
+        return CreateGrpcClientSettings(config.GetControlPlaneConnection());
+    }
+
     void CreateSingleClientActors(const NConfig::TYdbComputeControlPlane::TSingle& singleConfig) {
         auto globalLoadConfig = Config.GetYdb().GetLoadControlConfig();
         if (globalLoadConfig.GetEnable()) {

+ 2 - 3
ydb/library/grpc/actor_client/grpc_service_client.h

@@ -63,8 +63,6 @@ public:
         return mask;
     }
 
-    static constexpr TDuration DEFAULT_TIMEOUT = TDuration::Seconds(10);
-
     struct TGrpcRequest {
         static const google::protobuf::Message& Obfuscate(const google::protobuf::Message& p) {
             return p;
@@ -117,7 +115,8 @@ public:
     }
 
     static NYdbGrpc::TGRpcClientConfig InitGrpcConfig(const NGrpcActorClient::TGrpcClientSettings& settings) {
-        NYdbGrpc::TGRpcClientConfig config(settings.Endpoint, DEFAULT_TIMEOUT, NYdbGrpc::DEFAULT_GRPC_MESSAGE_SIZE_LIMIT, 0, settings.CertificateRootCA);
+        const TDuration requestTimeout = TDuration::MilliSeconds(settings.RequestTimeoutMs);
+        NYdbGrpc::TGRpcClientConfig config(settings.Endpoint, requestTimeout, NYdbGrpc::DEFAULT_GRPC_MESSAGE_SIZE_LIMIT, 0, settings.CertificateRootCA);
         config.EnableSsl = settings.EnableSsl;
         config.IntChannelParams[GRPC_ARG_KEEPALIVE_TIME_MS] = settings.GrpcKeepAliveTimeMs;
         config.IntChannelParams[GRPC_ARG_KEEPALIVE_TIMEOUT_MS] = settings.GrpcKeepAliveTimeoutMs;

+ 1 - 0
ydb/library/grpc/actor_client/grpc_service_settings.h

@@ -11,6 +11,7 @@ struct TGrpcClientSettings {
     ui32 GrpcKeepAliveTimeoutMs = 1000;
     ui32 GrpcKeepAlivePingInterval = 5000;
     bool EnableSsl = false;
+    ui64 RequestTimeoutMs = 10000; // 10 seconds
 };
 
 } // namespace NGrpcActorClient