diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/webapp/ContainerLogsUtils.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/webapp/ContainerLogsUtils.java index 3d0f19d..c588a89 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/webapp/ContainerLogsUtils.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-nodemanager/src/main/java/org/apache/hadoop/yarn/server/nodemanager/webapp/ContainerLogsUtils.java @@ -77,11 +77,7 @@ List logDirs = dirsHandler.getLogDirs(); List containerLogDirs = new ArrayList(logDirs.size()); for (String logDir : logDirs) { - try { - logDir = new URI(logDir).getPath(); - } catch (URISyntaxException e) { - throw new YarnException("Internal error", e); - } + logDir = new File(logDir).toURI().getPath(); String appIdStr = ConverterUtils.toString(containerId .getApplicationAttemptId().getApplicationId()); File appLogDir = new File(logDir, appIdStr); @@ -109,11 +105,9 @@ public static File getContainerLogFile(ContainerId containerId, application.getAppId().toString(), containerId.toString()); Path logPath = dirsHandler.getLogPathToRead( relativeContainerLogDir + Path.SEPARATOR + fileName); - URI logPathURI = new URI(logPath.toString()); + URI logPathURI = new File(logPath.toString()).toURI(); File logFile = new File(logPathURI.getPath()); return logFile; - } catch (URISyntaxException e) { - throw new YarnException("Internal error", e); } catch (IOException e) { LOG.warn("Failed to find log file", e); throw new NotFoundException("Cannot find this log on the local disk.");