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)