{"record":{"id":"56bb82c4d90270e8","repo":"apache/hadoop","slug":"unable-to-load-sas-token-provider-class-e","errorCode":null,"errorMessage":"Unable to load SAS token provider class: {e}","messagePattern":"Unable to load SAS token provider class: (.+?)","errorType":"exception","errorClass":"SASTokenProviderException","httpStatus":null,"severity":"error","filePath":"hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azurebfs/AbfsConfiguration.java","lineNumber":1664,"sourceCode":"        SASTokenProvider sasTokenProvider = ReflectionUtils.newInstance(\n            customSasTokenProviderImplementation, rawConfig);\n        if (sasTokenProvider == null) {\n          throw new SASTokenProviderException(String.format(\n              \"Failed to initialize %s\", customSasTokenProviderImplementation));\n        }\n        LOG.trace(\"Initializing {}\", customSasTokenProviderImplementation.getName());\n        sasTokenProvider.initialize(rawConfig, accountName);\n        LOG.trace(\"{} init complete\", customSasTokenProviderImplementation.getName());\n        return sasTokenProvider;\n      } else {\n        LOG.trace(\"Using FixedSASTokenProvider implementation\");\n        FixedSASTokenProvider fixedSASTokenProvider = new FixedSASTokenProvider(configuredFixedToken);\n        return fixedSASTokenProvider;\n      }\n    } catch (SASTokenProviderException e) {\n      throw e;\n    } catch (Exception e) {\n      throw new SASTokenProviderException(\n          \"Unable to load SAS token provider class: \" + e, e);\n    }\n  }\n\n  /**\n   * Returns the SASTokenProvider implementation to be used to generate user-bound SAS token.\n   * Custom implementation of {@link SASTokenProvider} under th config\n   * \"fs.azure.sas.token.provider.type\" needs to be provided.\n   * @param authType authentication type\n   * @return sasTokenProvider object based on configurations provided\n   * @throws AzureBlobFileSystemException is user-bound SAS token provider initialization fails\n   */\n  public SASTokenProvider getUserBoundSASTokenProvider(AuthType authType)\n      throws AzureBlobFileSystemException {\n\n    try {\n      Class<? extends SASTokenProvider> customSasTokenProviderImplementation =\n          getTokenProviderClass(authType, FS_AZURE_SAS_TOKEN_PROVIDER_TYPE,","sourceCodeStart":1646,"sourceCodeEnd":1682,"githubUrl":"https://github.com/apache/hadoop/blob/2add9630210752f88ceb1bb74eb65e37bf41da8e/hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azurebfs/AbfsConfiguration.java#L1646-L1682","documentation":"Error \"Unable to load SAS token provider class: {e}\" thrown in apache/hadoop.","triggerScenarios":"Thrown at hadoop-tools/hadoop-azure/src/main/java/org/apache/hadoop/fs/azurebfs/AbfsConfiguration.java:1664 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Ensure the SAS token provider class named in configuration is on the classpath and can be loaded."],"exampleFix":null,"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"}