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

Richard Zowalla closed STORM-3888.
----------------------------------

> HdfsBlobStoreFile set wrong permission for file
> -----------------------------------------------
>
>                 Key: STORM-3888
>                 URL: https://issues.apache.org/jira/browse/STORM-3888
>             Project: Apache Storm
>          Issue Type: Improvement
>          Components: blobstore
>            Reporter: Zhang Dongsheng
>            Priority: Critical
>             Fix For: 2.6.0
>
>          Time Spent: 40m
>  Remaining Estimate: 0h
>
> {code:java}
>     public OutputStream getOutputStream() throws IOException {
>         FsPermission fileperms = new FsPermission(BLOBSTORE_FILE_PERMISSION);
>         try {
>             out = fileSystem.create(path, (short) 
> this.getMetadata().get_replication_factor());
>             fileSystem.setPermission(path, fileperms);
>             fileSystem.setReplication(path, (short) 
> this.getMetadata().get_replication_factor());
>         } catch (IOException e) {
>            ......
>             out = fileSystem.create(path, (short) 
> this.getMetadata().get_replication_factor());
>             fileSystem.setPermission(path, dirperms);
>             fileSystem.setReplication(path, (short) 
> this.getMetadata().get_replication_factor());
>         }
>         ......
>     }
> {code}
> We can see that there are permission settings for path in both try and catch, 
> but the permission in catch is different from that in try. In catch, the 
> permission `dirperms` is given to the file. I think there is a problem here, 
> and it should be the same as The permissions in try are consistent.
> Permissions should be set according to the following code
> {code:java}
>     public OutputStream getOutputStream() throws IOException {
>         FsPermission fileperms = new FsPermission(BLOBSTORE_FILE_PERMISSION);
>         try {
>             out = fileSystem.create(path, (short) 
> this.getMetadata().get_replication_factor());
>             fileSystem.setPermission(path, fileperms);
>             fileSystem.setReplication(path, (short) 
> this.getMetadata().get_replication_factor());
>         } catch (IOException e) {
>            ......
>             out = fileSystem.create(path, (short) 
> this.getMetadata().get_replication_factor());
>             fileSystem.setPermission(path, fileperms);
>             fileSystem.setReplication(path, (short) 
> this.getMetadata().get_replication_factor());
>         }
>         ......
>     }
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to