You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Andrew Sherman (JIRA)" <ji...@apache.org> on 2018/02/06 00:33:00 UTC

[jira] [Updated] (HIVE-18625) SessionState Not Checking For Directory Creation Result

     [ https://issues.apache.org/jira/browse/HIVE-18625?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrew Sherman updated HIVE-18625:
----------------------------------
    Attachment: HIVE-18625.1.patch

> 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: 3.0.0, 2.4.0, 2.3.2
>            Reporter: BELUGA BEHR
>            Assignee: Andrew Sherman
>            Priority: Minor
>         Attachments: HIVE-18625.1.patch
>
>
> 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)