[ 
https://issues.apache.org/jira/browse/HADOOP-16105?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16765232#comment-16765232
 ] 

Steve Loughran commented on HADOOP-16105:
-----------------------------------------

OK, I understand this now. I'd thought that it wasn't actually connecting, 
which would be a major issue that people should have seen. It's a bit more 
subtle

The {{connectingUsingSAS}} flag tells the client not to check for the existence 
of the bucket, on the basis that the granted account *may not have the 
permissions to probe for that state*. 

Which is why if you connect using SAS outside of secure mode, the existence 
check is disabled.

In secure mode tests, if your a/c has the right permissions, everything works, 
so the fact that the property was null doesn't surface. 

You need the following conditions
# secure mode = true
# client doesn't have permissions to call 
{{container.downloadAttributes(getInstrumentedContext())}}

Setting the {{connectingUsingSAS}} property to true disables the existence 
checks on the first file IO operation. 

I've got the patch for this, along with a test which does a best effort attempt 
to replicate the problem by (a) deleting the container and (b) expecting the 
fact that the container is not found to surface a bit later in the write file 
codepath.

It also
 * stops the test setup deletion of the account credentials in secure mode 
(they're needed to generate the local SAS key)
 * Adds logging @ debug as to what is going on in the secure mode codepath
 * {{LocalSASKeyGeneratorImpl}} to raise a SASKeyGenerationException if the 
account key is null/empty. This means that the error message is more meaningful 
than an IllegalArgumentException about base-64 decoding. 


> WASB in secure mode does not set connectingUsingSAS
> ---------------------------------------------------
>
>                 Key: HADOOP-16105
>                 URL: https://issues.apache.org/jira/browse/HADOOP-16105
>             Project: Hadoop Common
>          Issue Type: Bug
>          Components: fs/azure
>    Affects Versions: 2.8.5, 3.1.2
>            Reporter: Steve Loughran
>            Assignee: Steve Loughran
>            Priority: Major
>
> If you run WASB in secure mode, it doesn't set {{connectingUsingSAS}} to 
> true, which can break things



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to