You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@tez.apache.org by "lujie (Jira)" <ji...@apache.org> on 2022/05/14 13:10:00 UTC

[jira] [Created] (TEZ-4413) permission may not be set after crash

lujie created TEZ-4413:
--------------------------

             Summary: permission may not be set after crash
                 Key: TEZ-4413
                 URL: https://issues.apache.org/jira/browse/TEZ-4413
             Project: Apache Tez
          Issue Type: Bug
            Reporter: lujie


the code  in createDirIfNotExists:

 

 
{code:java}
  private void createDirIfNotExists(Path path) throws IOException {
    FileSystem fileSystem = path.getFileSystem(conf);
    try {
      if (!fileSystem.exists(path)) {
        fileSystem.mkdirs(path);
        fileSystem.setPermission(path, DIR_PERMISSION);
      }
    } catch (IOException e) {
      // Ignore this exception, if there is a problem it'll fail when trying to read or write.
      LOG.warn("Error while trying to set permission: ", e);
    }
  }{code}
 

but if the node crash between mkdirs and setPermission, the permisson will not be set forever.

 

So how about change the code like 

 

 
{code:java}
  private void createDirIfNotExists(Path path) throws IOException {
    FileSystem fileSystem = path.getFileSystem(conf);
    try {
      if (!fileSystem.exists(path)) {
        fileSystem.mkdirs(path);
       
      }
         fileSystem.setPermission(path, DIR_PERMISSION);
     } catch (IOException e) {
      // Ignore this exception, if there is a problem it'll fail when trying to read or write.
      LOG.warn("Error while trying to set permission: ", e);
    }
  } {code}
 

 

 



--
This message was sent by Atlassian Jira
(v8.20.7#820007)