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)

Reply via email to