From 17df4f08d3c8750b9f61153abf0386962aadd1ba Mon Sep 17 00:00:00 2001 From: Gabor Bota Date: Thu, 19 Sep 2019 16:55:43 +0200 Subject: [PATCH] fix in mkdir Change-Id: Icd30c23f5606431bbdbd690f52adec30453ee19d --- .../src/main/java/org/apache/hadoop/fs/shell/Mkdir.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/shell/Mkdir.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/shell/Mkdir.java index 5828b0bbf4ddd..b513e08ce671c 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/shell/Mkdir.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/shell/Mkdir.java @@ -73,6 +73,13 @@ protected void processNonexistentPath(PathData item) throws IOException { // we want a/b final Path itemPath = new Path(item.path.toString()); final Path itemParentPath = itemPath.getParent(); + + if(itemParentPath == null) { + throw new PathNotFoundException(String.format( + "Item: %s parent path's is null. This can happen if mkdir is " + + "called on root, so there's no parent.", itemPath.toString())); + } + if (!item.fs.exists(itemParentPath)) { throw new PathNotFoundException(itemParentPath.toString()); }