{"record":{"id":"a5db432e468b2387","repo":"apache/hadoop","slug":"no-valid-authority-in-kms-uri-url","errorCode":null,"errorMessage":"No valid authority in kms uri [${url}]","messagePattern":"No valid authority in kms uri \\[(.+?)\\]","errorType":"exception","errorClass":"IOException","httpStatus":null,"severity":"error","filePath":"hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/crypto/key/kms/KMSClientProvider.java","lineNumber":287,"sourceCode":"     * where :\n     * - PROTO = http or https\n     * - AUTHORITY = {@literal <HOSTS>[:<PORT>]}\n     * - HOSTS = {@literal <HOSTNAME>[;<HOSTS>]}\n     * - HOSTNAME = string\n     * - PORT = integer\n     *\n     * This will always create a {@link LoadBalancingKMSClientProvider}\n     * if the uri is correct.\n     */\n    @Override\n    public KeyProvider createProvider(URI providerUri, Configuration conf)\n        throws IOException {\n      if (SCHEME_NAME.equals(providerUri.getScheme())) {\n        URL origUrl = new URL(extractKMSPath(providerUri).toString());\n        String authority = origUrl.getAuthority();\n        // check for ';' which delimits the backup hosts\n        if (Strings.isNullOrEmpty(authority)) {\n          throw new IOException(\n              \"No valid authority in kms uri [\" + origUrl + \"]\");\n        }\n        // Check if port is present in authority\n        // In the current scheme, all hosts have to run on the same port\n        int port = -1;\n        String hostsPart = authority;\n        if (authority.contains(\":\")) {\n          String[] t = authority.split(\":\");\n          try {\n            port = Integer.parseInt(t[1]);\n          } catch (Exception e) {\n            throw new IOException(\n                \"Could not parse port in kms uri [\" + origUrl + \"]\");\n          }\n          hostsPart = t[0];\n        }\n        KMSClientProvider[] providers =\n            createProviders(conf, origUrl, port, hostsPart);","sourceCodeStart":269,"sourceCodeEnd":305,"githubUrl":"https://github.com/apache/hadoop/blob/2add9630210752f88ceb1bb74eb65e37bf41da8e/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/crypto/key/kms/KMSClientProvider.java#L269-L305","documentation":"Error \"No valid authority in kms uri [${url}]\" 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":["Provide a KMS URI with a valid host (authority), e.g. kms://http@host:9600/kms."],"exampleFix":"Fix hadoop.security.key.provider.path to kms://http@kms-host:9600/kms.","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-23T01:17:44.959Z"}