From 661897e01fe48a0f80c3ee4e9168667b7d926ba9 Mon Sep 17 00:00:00 2001 From: Oleg Danilov Date: Wed, 16 Aug 2017 13:34:39 +0300 Subject: [PATCH] HIVE-17331: Use Path instead of String as key type of the pathToAliases --- .../java/org/apache/hadoop/hive/ql/optimizer/GenMapRedUtils.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/GenMapRedUtils.java b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/GenMapRedUtils.java index a0b26785864..0d36b9f21e4 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/optimizer/GenMapRedUtils.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/optimizer/GenMapRedUtils.java @@ -243,12 +243,12 @@ private static void setUnionPlan(GenMRProcContext opProcCtx, MapredWork plan = (MapredWork) currTask.getWork(); for (int pos = 0; pos < size; pos++) { String taskTmpDir = taskTmpDirLst.get(pos); - TableDesc tt_desc = tt_descLst.get(pos); + Path taskTmpDirPath = new Path(taskTmpDir); MapWork mWork = plan.getMapWork(); - if (mWork.getPathToAliases().get(taskTmpDir) == null) { + if (!mWork.getPathToAliases().containsKey(taskTmpDirPath)) { taskTmpDir = taskTmpDir.intern(); - Path taskTmpDirPath = StringInternUtils.internUriStringsInPath(new Path(taskTmpDir)); - mWork.removePathToAlias(taskTmpDirPath); + StringInternUtils.internUriStringsInPath(taskTmpDirPath); + TableDesc tt_desc = tt_descLst.get(pos); mWork.addPathToAlias(taskTmpDirPath, taskTmpDir); mWork.addPathToPartitionInfo(taskTmpDirPath, new PartitionDesc(tt_desc, null)); mWork.getAliasToWork().put(taskTmpDir, topOperators.get(pos));