diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt index 372d80d8205..eeaa0c0d30f 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt +++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt @@ -10,6 +10,9 @@ Release 2.9.0 - UNRELEASED HDFS-9267. TestDiskError should get stored replicas through FsDatasetTestUtils. (Lei (Eddy) Xu via Colin P. McCabe) + HDFS-9491. Tests should get the number of pending async delets via + FsDatasetTestUtils. (Tony Wu via lei) + OPTIMIZATIONS BUG FIXES diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/DataNodeTestUtils.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/DataNodeTestUtils.java index ec45dac1de7..1d4719279fe 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/DataNodeTestUtils.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/DataNodeTestUtils.java @@ -158,10 +158,6 @@ public static FsDatasetSpi getFSDataset(DataNode dn) { return dn.getFSDataset(); } - public static long getPendingAsyncDeletions(DataNode dn) { - return FsDatasetTestUtil.getPendingAsyncDeletions(dn.getFSDataset()); - } - /** * Fetch a copy of ReplicaInfo from a datanode by block id * @param dn datanode to retrieve a replicainfo object from diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/FsDatasetTestUtils.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/FsDatasetTestUtils.java index e89e1f2ac5d..2a8119f02f0 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/FsDatasetTestUtils.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/FsDatasetTestUtils.java @@ -255,4 +255,9 @@ void changeStoredGenerationStamp(ExtendedBlock block, long newGenStamp) /** Get all stored replicas in the specified block pool. */ Iterator getStoredReplicas(String bpid) throws IOException; + + /** + * Get the number of pending async deletions. + */ + long getPendingAsyncDeletions(); } \ No newline at end of file diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetImplTestUtils.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetImplTestUtils.java index f67eeb84488..c85ca2b5600 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetImplTestUtils.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetImplTestUtils.java @@ -400,4 +400,9 @@ public Iterator getStoredReplicas(String bpid) throws IOException { } return ret.iterator(); } + + @Override + public long getPendingAsyncDeletions() { + return dataset.asyncDiskService.countPendingDeletions(); + } } diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetTestUtil.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetTestUtil.java index 164385ebe92..f4480a16b96 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetTestUtil.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsDatasetTestUtil.java @@ -59,10 +59,6 @@ public static ReplicaInfo fetchReplicaInfo (final FsDatasetSpi fsd, final String bpid, final long blockId) { return ((FsDatasetImpl)fsd).fetchReplicaInfo(bpid, blockId); } - - public static long getPendingAsyncDeletions(FsDatasetSpi fsd) { - return ((FsDatasetImpl)fsd).asyncDiskService.countPendingDeletions(); - } public static Collection getReplicas(FsDatasetSpi fsd, String bpid) { diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/LazyPersistTestCase.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/LazyPersistTestCase.java index 915534487da..3593e2de8dd 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/LazyPersistTestCase.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/LazyPersistTestCase.java @@ -452,7 +452,7 @@ protected final boolean verifyDeletedBlocks(LocatedBlocks locatedBlocks) triggerBlockReport(); while( - DataNodeTestUtils.getPendingAsyncDeletions(cluster.getDataNodes().get(0)) + cluster.getFsDatasetTestUtils(0).getPendingAsyncDeletions() > 0L){ Thread.sleep(1000); } diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/ha/HATestUtil.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/ha/HATestUtil.java index c7c4a7721ad..356b2237fd4 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/ha/HATestUtil.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/namenode/ha/HATestUtil.java @@ -97,7 +97,7 @@ public static void waitForDNDeletions(final MiniDFSCluster cluster) @Override public Boolean get() { for (DataNode dn : cluster.getDataNodes()) { - if (DataNodeTestUtils.getPendingAsyncDeletions(dn) > 0) { + if (cluster.getFsDatasetTestUtils(dn).getPendingAsyncDeletions() > 0) { return false; } }