BELUGA BEHR created HIVE-18625:
----------------------------------

             Summary: SessionState Not Checking For Directory Creation Result
                 Key: HIVE-18625
                 URL: https://issues.apache.org/jira/browse/HIVE-18625
             Project: Hive
          Issue Type: Improvement
          Components: HiveServer2
    Affects Versions: 2.3.2, 3.0.0, 2.4.0
            Reporter: BELUGA BEHR


https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/session/SessionState.java#L773

{code:java}
  private static void createPath(HiveConf conf, Path path, String permission, 
boolean isLocal,
      boolean isCleanUp) throws IOException {
    FsPermission fsPermission = new FsPermission(permission);
    FileSystem fs;
    if (isLocal) {
      fs = FileSystem.getLocal(conf);
    } else {
      fs = path.getFileSystem(conf);
    }
    if (!fs.exists(path)) {
      fs.mkdirs(path, fsPermission);
      String dirType = isLocal ? "local" : "HDFS";
      LOG.info("Created " + dirType + " directory: " + path.toString());
    }
    if (isCleanUp) {
      fs.deleteOnExit(path);
    }
  }
{code}

The method {{fs.mkdirs(path, fsPermission)}} returns a boolean value indicating 
if the directory creation was successful or not.  Hive ignores this return 
value and therefore could be acting on a directory that doesn't exist.

Please capture the result, check it, and throw an Exception if it failed



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to