This is an automated email from the ASF dual-hosted git repository.

ayushsaxena pushed a commit to branch branch-3.3
in repository https://gitbox.apache.org/repos/asf/hadoop.git


The following commit(s) were added to refs/heads/branch-3.3 by this push:
     new 9029bba5dcb HADOOP-18652. Path.suffix raises NullPointerException 
(#5653). Contributed by Patrick Grandjean.
9029bba5dcb is described below

commit 9029bba5dcb5a0379b27b32d811756de965d706c
Author: Patrick GRANDJEAN <pgrandjean.github....@gmail.com>
AuthorDate: Thu May 18 19:46:55 2023 -0400

    HADOOP-18652. Path.suffix raises NullPointerException (#5653). Contributed 
by Patrick Grandjean.
    
    Reviewed-by: Wei-Chiu Chuang <weic...@apache.org>
    Signed-off-by: Ayush Saxena <ayushsax...@apache.org>
---
 .../hadoop-common/src/main/java/org/apache/hadoop/fs/Path.java     | 7 ++++++-
 .../hadoop-common/src/test/java/org/apache/hadoop/fs/TestPath.java | 7 +++++++
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git 
a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/Path.java
 
b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/Path.java
index 2649d279aa1..9daa782e1c5 100644
--- 
a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/Path.java
+++ 
b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/Path.java
@@ -447,7 +447,12 @@ public class Path
    * @return a new path with the suffix added
    */
   public Path suffix(String suffix) {
-    return new Path(getParent(), getName()+suffix);
+    Path parent = getParent();
+    if (parent == null) {
+      return new Path("/", getName() + suffix);
+    }
+
+    return new Path(parent, getName() + suffix);
   }
 
   @Override
diff --git 
a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestPath.java
 
b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestPath.java
index 18f88084c3f..e775d1d069d 100644
--- 
a/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestPath.java
+++ 
b/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/fs/TestPath.java
@@ -528,4 +528,11 @@ public class TestPath {
     }
 
   }
+
+  @Test(timeout = 30000)
+  public void testSuffixFromRoot() {
+    Path root = new Path("/");
+    Assert.assertNull(root.getParent());
+    Assert.assertEquals(new Path("/bar"), root.suffix("bar"));
+  }
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-commits-h...@hadoop.apache.org

Reply via email to