[ 
https://issues.apache.org/jira/browse/JCLOUDS-1397?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andrew Gaul updated JCLOUDS-1397:
---------------------------------
    Labels: filesystem  (was: )

> FileSystem provider createContainerInLocation can generate folder with 
> invalid permissions
> ------------------------------------------------------------------------------------------
>
>                 Key: JCLOUDS-1397
>                 URL: https://issues.apache.org/jira/browse/JCLOUDS-1397
>             Project: jclouds
>          Issue Type: Bug
>          Components: jclouds-blobstore
>    Affects Versions: 2.0.1
>         Environment: Windows 7 Enterprise SP 1
> Java 1.8.0_131
>            Reporter: Berin Loritsch
>            Priority: Major
>              Labels: filesystem
>
> I'm using Spring Boot to wrap calls to the blob store in a microservice.  I 
> ran into a problem on a Windows 7 box I was not expecting: the blob container 
> name was initialized with a directory that had no privileges.  With the 
> following property, we ran into a disparity in how the folders are created:
> {code:java}
> jclouds.filesystem.basedir=Z:\blob-store{code}
> We have some code in our microservice to ensure the blob store container 
> exists before we attempt to put any blobs in it.  Our initialization code has 
> the following snippet, which should be enough:
> {code:java}
> if (!blobStore.containerExists(blobContainerName)) {
>      blobStore.createContainerInLocation(null, blobContainerName);
>  }{code}
> The end result was that the parent folder described by 
> {{jclouds.filesystem.basedir}} was correct in that the permissions on the 
> folder were the default as if you called {{File.mkdirs()}} in a standard Java 
> application (read, update, write, execute for the process's user).  However, 
> the folder with the container name had no permissions (all turned off).
> The symptom we had was an Exception thrown by the Filesystem provider because 
> the blob could not be renamed from the UUID temp file name to the one in 
> provided by the putBlob() call.
> ----
> Other pertinent facts:
>  * The machine is in an Enterprise environment where there are global 
> policies in place for the network.  This is probably a contributing factor 
> since I did not run into this problem on a Windows 10 Professional box in a 
> more relaxed environment.
>  * The workaround was to pre-create the directories with the 
> {{File.mkdirs()}} call.



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

Reply via email to