You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@storm.apache.org by "Zhang Dongsheng (Jira)" <ji...@apache.org> on 2022/12/24 14:34:00 UTC
[jira] [Created] (STORM-3888) HdfsBlobStoreFile set wrong permission for file
Zhang Dongsheng created STORM-3888:
--------------------------------------
Summary: 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
{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)