{"record":{"id":"a1677f48983abcd2","repo":"apache/hadoop","slug":"no-providers-configured","errorCode":null,"errorMessage":"No providers configured !","messagePattern":"No providers configured !","errorType":"exception","errorClass":"IOException","httpStatus":null,"severity":"error","filePath":"hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/crypto/key/kms/LoadBalancingKMSClientProvider.java","lineNumber":170,"sourceCode":"    if (token == null) {\n      token = KMSClientProvider.selectDelegationToken(creds, dtService);\n    }\n    // fallback to querying each sub-provider.\n    if (token == null) {\n      for (KMSClientProvider provider : getProviders()) {\n        token = provider.selectDelegationToken(creds);\n        if (token != null) {\n          break;\n        }\n      }\n    }\n    return token;\n  }\n\n  private <T> T doOp(ProviderCallable<T> op, int currPos,\n      boolean isIdempotent) throws IOException {\n    if (providers.length == 0) {\n      throw new IOException(\"No providers configured !\");\n    }\n    int numFailovers = 0;\n    for (int i = 0;; i++, numFailovers++) {\n      KMSClientProvider provider = providers[(currPos + i) % providers.length];\n      try {\n        return op.call(provider);\n      } catch (AccessControlException ace) {\n        // No need to retry on AccessControlException\n        // and AuthorizationException.\n        // This assumes all the servers are configured with identical\n        // permissions and identical key acls.\n        throw ace;\n      } catch (IOException ioe) {\n        LOG.warn(\"KMS provider at [{}] threw an IOException: \",\n            provider.getKMSUrl(), ioe);\n        // SSLException can occur here because of lost connection\n        // with the KMS server, creating a ConnectException from it,\n        // so that the FailoverOnNetworkExceptionRetry policy will retry","sourceCodeStart":152,"sourceCodeEnd":188,"githubUrl":"https://github.com/apache/hadoop/blob/2add9630210752f88ceb1bb74eb65e37bf41da8e/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/crypto/key/kms/LoadBalancingKMSClientProvider.java#L152-L188","documentation":"Error \"No providers configured !\" thrown in apache/hadoop.","triggerScenarios":"Raised at runtime when the documented precondition or configuration requirement for this operation is violated.","commonSituations":"Misconfigured or missing property, invalid user input, or calling the API before its prerequisites are met.","solutions":["Configure at least one KMS provider URI in hadoop.security.key.provider.path."],"exampleFix":"Add kms://http@host:9600/kms to the provider path.","handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"2add9630210752f88ceb1bb74eb65e37bf41da8e","analyzedAt":"2026-08-22T19:55:07.957Z","schemaVersion":2},"datasetVersion":"2026-08-22T20:17:22.307Z"}