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)