소스 검색

HDFS-11098. Datanode in tests cannot start in Windows after HDFS-10638 (Contributed by Vinayakumar B)

Vinayakumar B 8 년 전
부모
커밋
69dd5fa2d4
1개의 변경된 파일5개의 추가작업 그리고 2개의 파일을 삭제
  1. 5 2
      hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/StorageLocation.java

+ 5 - 2
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/StorageLocation.java

@@ -62,8 +62,11 @@ public class StorageLocation implements Comparable<StorageLocation>{
       // make sure all URIs that point to a file have the same scheme
       try {
         File uriFile = new File(uri.getPath());
-        String absPath = uriFile.getAbsolutePath();
-        uri = new URI("file", null, absPath, uri.getQuery(), uri.getFragment());
+        String uriStr = uriFile.toURI().normalize().toString();
+        if (uriStr.endsWith("/")) {
+          uriStr = uriStr.substring(0, uriStr.length() - 1);
+        }
+        uri = new URI(uriStr);
       } catch (URISyntaxException e) {
         throw new IllegalArgumentException(
             "URI: " + uri + " is not in the expected format");