Browse Source

HDFS-17526. getMetadataInputStream should use getShareDeleteFileInputStream for windows (#6826). Contributed by Danny Becker

dannytbecker 7 months ago
parent
commit
50fcfd8b29

+ 6 - 0
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/LocalReplica.java

@@ -291,6 +291,12 @@ abstract public class LocalReplica extends ReplicaInfo {
   public LengthInputStream getMetadataInputStream(long offset)
       throws IOException {
     final File meta = getMetaFile();
+    if (NativeIO.isAvailable()) {
+      return new LengthInputStream(
+          getFileIoProvider().getShareDeleteFileInputStream(
+              getVolume(), meta, offset),
+          meta.length());
+    }
     return new LengthInputStream(
         getFileIoProvider().openAndSeek(getVolume(), meta, offset),
         meta.length());