This is an automated email from the ASF dual-hosted git repository.
weichiu pushed a commit to branch branch-3.1
in repository https://gitbox.apache.org/repos/asf/hadoop.git
The following commit(s) were added to refs/heads/branch-3.1 by this push:
new 29c4ade HDFS-14010. Pass correct DF usage to ReservedSpaceCalculator
builder. Contributed by Virajith Jalaparti.
29c4ade is described below
commit 29c4aded34a759f441d39cf8a2661a830c0ceb80
Author: Wei-Chiu Chuang <[email protected]>
AuthorDate: Tue Jun 18 00:33:10 2019 -0700
HDFS-14010. Pass correct DF usage to ReservedSpaceCalculator builder.
Contributed by Virajith Jalaparti.
(cherry picked from commit 1cc1530b4e874391a17ec81e24cb55dfbbabd36a)
(cherry picked from commit 223a582eb839bb6e4298a2fe0243bc27d73fc977)
---
.../hdfs/server/datanode/fsdataset/impl/FsVolumeImpl.java | 11 ++++++++---
.../hdfs/server/datanode/fsdataset/impl/TestProvidedImpl.java | 8 ++++++++
2 files changed, 16 insertions(+), 3 deletions(-)
diff --git
a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsVolumeImpl.java
b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsVolumeImpl.java
index 9969976..71261ad 100644
---
a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsVolumeImpl.java
+++
b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/FsVolumeImpl.java
@@ -164,6 +164,13 @@ public class FsVolumeImpl implements FsVolumeSpi {
this.storageType = storageLocation.getStorageType();
this.configuredCapacity = -1;
this.usage = usage;
+ if (this.usage != null) {
+ reserved = new ReservedSpaceCalculator.Builder(conf)
+ .setUsage(this.usage).setStorageType(storageType).build();
+ } else {
+ reserved = null;
+ LOG.warn("Setting reserved to null as usage is null");
+ }
if (currentDir != null) {
File parent = currentDir.getParentFile();
cacheExecutor = initializeCacheExecutor(parent);
@@ -174,8 +181,6 @@ public class FsVolumeImpl implements FsVolumeSpi {
}
this.conf = conf;
this.fileIoProvider = fileIoProvider;
- this.reserved = new ReservedSpaceCalculator.Builder(conf)
- .setUsage(usage).setStorageType(storageType).build();
}
protected ThreadPoolExecutor initializeCacheExecutor(File parent) {
@@ -480,7 +485,7 @@ public class FsVolumeImpl implements FsVolumeSpi {
}
long getReserved(){
- return reserved.getReserved();
+ return reserved != null ? reserved.getReserved() : 0;
}
@VisibleForTesting
diff --git
a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/TestProvidedImpl.java
b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/TestProvidedImpl.java
index 422acc3..d7935b5 100644
---
a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/TestProvidedImpl.java
+++
b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/server/datanode/fsdataset/impl/TestProvidedImpl.java
@@ -353,6 +353,14 @@ public class TestProvidedImpl {
}
@Test
+ public void testReserved() throws Exception {
+ for (FsVolumeSpi vol : providedVolumes) {
+ // the reserved space for provided volumes should be 0.
+ assertEquals(0, ((FsVolumeImpl) vol).getReserved());
+ }
+ }
+
+ @Test
public void testProvidedVolumeImpl() throws IOException {
assertEquals(NUM_LOCAL_INIT_VOLUMES + NUM_PROVIDED_INIT_VOLUMES,
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]