[ 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)