{"record":{"id":"e0ffc6c6514e9794","repo":"juspay/hyperswitch","slug":"failed-to-establish-a-connection-with-the-dynamic","errorCode":null,"errorMessage":"Failed to establish a connection with the Dynamic Routing Server","messagePattern":"Failed to establish a connection with the Dynamic Routing Server","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/external_services/src/grpc_client.rs","lineNumber":130,"sourceCode":"        let client =\n            hyper_util::client::legacy::Client::builder(hyper_util::rt::TokioExecutor::new())\n                .http2_only(true)\n                .build_http();\n        // deja: wrap the shared pool in the gRPC egress boundary at its one\n        // construction site.\n        #[cfg(all(\n            any(feature = \"dynamic_routing\", feature = \"revenue_recovery\"),\n            feature = \"deja\"\n        ))]\n        let client = deja_transport::DejaGrpcTransport::new(client);\n\n        #[cfg(feature = \"dynamic_routing\")]\n        let dynamic_routing_connection = self\n            .dynamic_routing_client\n            .clone()\n            .map(|config| config.get_dynamic_routing_connection(client.clone()))\n            .transpose()\n            .expect(\"Failed to establish a connection with the Dynamic Routing Server\")\n            .flatten();\n\n        #[cfg(feature = \"dynamic_routing\")]\n        let health_client = HealthCheckClient::build_connections(self, client.clone())\n            .await\n            .expect(\"Failed to build gRPC connections\");\n\n        let unified_connector_service_client =\n            UnifiedConnectorServiceClient::build_connections(self).await;\n\n        #[cfg(feature = \"revenue_recovery\")]\n        let recovery_decider_client = {\n            match &self.recovery_decider_client {\n                Some(config) => {\n                    // Validate the config first\n                    config\n                        .validate()\n                        .expect(\"Recovery Decider configuration validation failed\");","sourceCodeStart":112,"sourceCodeEnd":148,"githubUrl":"https://github.com/juspay/hyperswitch/blob/705a3219504c3cf9034e71d956455f8834ea4e64/crates/external_services/src/grpc_client.rs#L112-L148","documentation":"Error \"Failed to establish a connection with the Dynamic Routing Server\" thrown in juspay/hyperswitch.","triggerScenarios":"Thrown at crates/external_services/src/grpc_client.rs:130 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify the Dynamic Routing Server address in config and that the service is running and reachable","Check TLS/cert settings for the gRPC connection"],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"705a3219504c3cf9034e71d956455f8834ea4e64","analyzedAt":"2026-08-19T10:36:43.745Z","contentChangedAt":"2026-08-19T10:36:43.745Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}