From b1eb47865c7ec9796f966c7b134758bf456d0d84 Mon Sep 17 00:00:00 2001 From: Rakesh Radhakrishnan Date: Wed, 8 Jan 2020 14:25:17 +0530 Subject: [PATCH] HDFS-15080. Fix the issue in reading persistent memory cached data with an offset. Contributed by Feilong He. (cherry picked from commit 7030722e5d9f376245a9ab0a6a883538b6c55f82) --- .../hdfs/server/datanode/fsdataset/impl/FsDatasetImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetImpl.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetImpl.java index faf09355068..1ce29107dc8 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetImpl.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetImpl.java @@ -821,7 +821,7 @@ private InputStream getBlockInputStreamWithCheckingPmemCache( if (addr != -1) { LOG.debug("Get InputStream by cache address."); return FsDatasetUtil.getDirectInputStream( - addr, info.getBlockDataLength()); + addr + seekOffset, info.getBlockDataLength() - seekOffset); } LOG.debug("Get InputStream by cache file path."); return FsDatasetUtil.getInputStreamAndSeek(