[ https://issues.apache.org/jira/browse/HADOOP-17725?focusedWorklogId=603486&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-603486 ]
ASF GitHub Bot logged work on HADOOP-17725: ------------------------------------------- Author: ASF GitHub Bot Created on: 28/May/21 12:07 Start Date: 28/May/21 12:07 Worklog Time Spent: 10m Work Description: sadikovi commented on pull request #3041: URL: https://github.com/apache/hadoop/pull/3041#issuecomment-850372026 Tested commit c8ed0cc25bd094240b6274df447bdc33aa93546c. Ran the following code ```scala import org.apache.hadoop.fs._ val conf = spark.sessionState.newHadoopConf conf.set("fs.azure.account.auth.type", "OAuth") conf.set("fs.azure.account.oauth.provider.type", "org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider") conf.set("fs.azure.account.oauth2.client.id", "<client-id>") // conf.set("fs.azure.account.oauth2.client.secret.<account>.dfs.core.windows.net", "<client-secret>") // conf.set("fs.azure.account.oauth2.client.secret", "<client-secret>") conf.set("fs.azure.account.oauth2.client.endpoint", "https://login.microsoftonline.com/<endpoint>") val path = new Path("abfss://<container>@<account>.dfs.core.windows.net/") val fs = path.getFileSystem(conf) fs.getFileStatus(path) ``` with the storage account in West US, everything seems to be work correctly. If I comment out one or more configs, e.g. client-secret or client-id, the error message is as follows: ``` TokenAccessProviderException: Unable to load OAuth token provider class. ... Caused by: ConfigurationPropertyNotFoundException: Configuration property fs.azure.account.oauth2.client.secret not found. ... ``` The code works when commenting out `fs.azure.account.oauth2.client.secret` or `fs.azure.account.oauth2.client.secret.<account>.dfs.core.windows.net`, the same is applicable to other configs. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking ------------------- Worklog Id: (was: 603486) Time Spent: 3h (was: 2h 50m) > Improve error message for token providers in ABFS > ------------------------------------------------- > > Key: HADOOP-17725 > URL: https://issues.apache.org/jira/browse/HADOOP-17725 > Project: Hadoop Common > Issue Type: Improvement > Components: fs/azure, hadoop-thirdparty > Affects Versions: 3.3.0 > Reporter: Ivan > Assignee: Viraj Jasani > Priority: Major > Labels: pull-request-available > Time Spent: 3h > Remaining Estimate: 0h > > It would be good to improve error messages for token providers in ABFS. > Currently, when a configuration key is not found or mistyped, the error is > not very clear on what went wrong. It would be good to indicate that the key > was required but not found in Hadoop configuration when creating a token > provider. > For example, when running the following code: > {code:java} > import org.apache.hadoop.conf._ > import org.apache.hadoop.fs._ > val conf = new Configuration() > conf.set("fs.azure.account.auth.type", "OAuth") > conf.set("fs.azure.account.oauth.provider.type", > "org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider") > conf.set("fs.azure.account.oauth2.client.id", "my-client-id") > // > conf.set("fs.azure.account.oauth2.client.secret.my-account.dfs.core.windows.net", > "my-secret") > conf.set("fs.azure.account.oauth2.client.endpoint", "my-endpoint") > val path = new Path("abfss://contai...@my-account.dfs.core.windows.net/") > val fs = path.getFileSystem(conf) > fs.getFileStatus(path){code} > The following exception is thrown: > {code:java} > TokenAccessProviderException: Unable to load OAuth token provider class. > ... > Caused by: UncheckedExecutionException: java.lang.NullPointerException: > clientSecret > ... > Caused by: NullPointerException: clientSecret {code} > which does not tell what configuration key was not loaded. > > IMHO, it would be good if the exception was something like this: > {code:java} > TokenAccessProviderException: Unable to load OAuth token provider class. > ... > Caused by: ConfigurationPropertyNotFoundException: Configuration property > fs.azure.account.oauth2.client.secret not found. {code} -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-issues-h...@hadoop.apache.org