{"record":{"id":"5e3c1c1ad43b400d","repo":"juspay/hyperswitch","slug":"recovery-decider-configuration-validation-failed","errorCode":null,"errorMessage":"Recovery Decider configuration validation failed","messagePattern":"Recovery Decider configuration validation failed","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/external_services/src/grpc_client.rs","lineNumber":148,"sourceCode":"            .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\");\n\n                    // Create the client\n                    let client = config\n                        .get_recovery_decider_connection(client.clone())\n                        .expect(\n                            \"Failed to establish a connection with the Recovery Decider Server\",\n                        );\n\n                    logger::info!(\"Recovery Decider gRPC client successfully initialized\");\n                    let boxed_client: Box<dyn RecoveryDeciderClientInterface> = Box::new(client);\n                    Some(boxed_client)\n                }\n                None => {\n                    logger::debug!(\"Recovery Decider client configuration not provided, client will be disabled\");\n                    None\n                }\n            }\n        };","sourceCodeStart":130,"sourceCodeEnd":166,"githubUrl":"https://github.com/juspay/hyperswitch/blob/705a3219504c3cf9034e71d956455f8834ea4e64/crates/external_services/src/grpc_client.rs#L130-L166","documentation":"Error \"Recovery Decider configuration validation failed\" thrown in juspay/hyperswitch.","triggerScenarios":"Thrown at crates/external_services/src/grpc_client.rs:148 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Fix the Recovery Decider configuration values; compare against the reference configuration"],"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-14T00:17:10.932Z"}