You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Fei Hui (JIRA)" <ji...@apache.org> on 2017/06/22 14:23:00 UTC

[jira] [Created] (HIVE-16943) MoveTask should separate src FileSystem from dest FileSystem

Fei Hui created HIVE-16943:
------------------------------

             Summary: MoveTask should separate src FileSystem from dest FileSystem 
                 Key: HIVE-16943
                 URL: https://issues.apache.org/jira/browse/HIVE-16943
             Project: Hive
          Issue Type: Bug
          Components: Query Processor
    Affects Versions: 3.0.0
            Reporter: Fei Hui


{code:title=MoveTask.java|borderStyle=solid} 
 private void moveFileInDfs (Path sourcePath, Path targetPath, FileSystem fs)
      throws HiveException, IOException {
    // if source exists, rename. Otherwise, create a empty directory
    if (fs.exists(sourcePath)) {
      Path deletePath = null;
      // If it multiple level of folder are there fs.rename is failing so first
      // create the targetpath.getParent() if it not exist
      if (HiveConf.getBoolVar(conf, HiveConf.ConfVars.HIVE_INSERT_INTO_MULTILEVEL_DIRS)) {
        deletePath = createTargetPath(targetPath, fs);
      }
      Hive.clearDestForSubDirSrc(conf, targetPath, sourcePath, false);
      if (!Hive.moveFile(conf, sourcePath, targetPath, true, false)) {
        try {
          if (deletePath != null) {
            fs.delete(deletePath, true);
          }
        } catch (IOException e) {
          LOG.info("Unable to delete the path created for facilitating rename"
              + deletePath);
        }
        throw new HiveException("Unable to rename: " + sourcePath
            + " to: " + targetPath);
      }
    } else if (!fs.mkdirs(targetPath)) {
      throw new HiveException("Unable to make directory: " + targetPath);
    }
  }
{code}
Maybe sourcePath and targetPath come from defferent filesystem, we should separate them.
I see that HIVE-11568 had done it in Hive.java



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)