You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by ar...@apache.org on 2015/04/21 00:44:18 UTC
[2/3] hadoop git commit: HDFS-8179. DFSClient#getServerDefaults
returns null within 1 hour of system start. (Contributed by Xiaoyu Yao)
HDFS-8179. DFSClient#getServerDefaults returns null within 1 hour of system start. (Contributed by Xiaoyu Yao)
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/95a8d452
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/95a8d452
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/95a8d452
Branch: refs/heads/branch-2
Commit: 95a8d452c58a3e07e1128788abcf03e6e7a8b823
Parents: 756c254
Author: Arpit Agarwal <ar...@apache.org>
Authored: Mon Apr 20 15:42:42 2015 -0700
Committer: Arpit Agarwal <ar...@apache.org>
Committed: Mon Apr 20 15:42:49 2015 -0700
----------------------------------------------------------------------
.../src/main/java/org/apache/hadoop/fs/Trash.java | 5 +++++
.../org/apache/hadoop/fs/TrashPolicyDefault.java | 4 ++--
hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt | 3 +++
.../main/java/org/apache/hadoop/hdfs/DFSClient.java | 4 +++-
.../hadoop/hdfs/TestDistributedFileSystem.java | 15 +++++++++++++++
5 files changed, 28 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/95a8d452/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/Trash.java
----------------------------------------------------------------------
diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/Trash.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/Trash.java
index 2d5f540..aae5cf7 100644
--- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/Trash.java
+++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/Trash.java
@@ -19,6 +19,7 @@ package org.apache.hadoop.fs;
import java.io.IOException;
+import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.classification.InterfaceAudience;
import org.apache.hadoop.classification.InterfaceStability;
import org.apache.hadoop.conf.Configuration;
@@ -33,6 +34,9 @@ import org.apache.hadoop.conf.Configured;
@InterfaceAudience.Public
@InterfaceStability.Stable
public class Trash extends Configured {
+ private static final org.apache.commons.logging.Log LOG =
+ LogFactory.getLog(Trash.class);
+
private TrashPolicy trashPolicy; // configured trash policy instance
/**
@@ -84,6 +88,7 @@ public class Trash extends Configured {
} catch (Exception e) {
// If we can not determine that trash is enabled server side then
// bail rather than potentially deleting a file when trash is enabled.
+ LOG.warn("Failed to get server trash configuration", e);
throw new IOException("Failed to get server trash configuration", e);
}
Trash trash = new Trash(fullyResolvedFs, conf);
http://git-wip-us.apache.org/repos/asf/hadoop/blob/95a8d452/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/TrashPolicyDefault.java
----------------------------------------------------------------------
diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/TrashPolicyDefault.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/TrashPolicyDefault.java
index cfb51e2..d6a9b4b 100644
--- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/TrashPolicyDefault.java
+++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/fs/TrashPolicyDefault.java
@@ -134,11 +134,11 @@ public class TrashPolicyDefault extends TrashPolicy {
for (int i = 0; i < 2; i++) {
try {
if (!fs.mkdirs(baseTrashPath, PERMISSION)) { // create current
- LOG.warn("Can't create(mkdir) trash directory: "+baseTrashPath);
+ LOG.warn("Can't create(mkdir) trash directory: " + baseTrashPath);
return false;
}
} catch (IOException e) {
- LOG.warn("Can't create trash directory: "+baseTrashPath);
+ LOG.warn("Can't create trash directory: " + baseTrashPath, e);
cause = e;
break;
}
http://git-wip-us.apache.org/repos/asf/hadoop/blob/95a8d452/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
index 1acb906..0da2516 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
+++ b/hadoop-hdfs-project/hadoop-hdfs/CHANGES.txt
@@ -243,6 +243,9 @@ Release 2.7.1 - UNRELEASED
HDFS-8153. Error Message points to wrong parent directory in case of
path component name length error (Anu Engineer via jitendra)
+ HDFS-8179. DFSClient#getServerDefaults returns null within 1
+ hour of system start. (Xiaoyu Yao via Arpit Agarwal)
+
Release 2.7.0 - UNRELEASED
INCOMPATIBLE CHANGES
http://git-wip-us.apache.org/repos/asf/hadoop/blob/95a8d452/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSClient.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSClient.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSClient.java
index 6e4819c..227372c 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSClient.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/DFSClient.java
@@ -653,10 +653,12 @@ public class DFSClient implements java.io.Closeable, RemotePeerFactory,
*/
public FsServerDefaults getServerDefaults() throws IOException {
long now = Time.monotonicNow();
- if (now - serverDefaultsLastUpdate > SERVER_DEFAULTS_VALIDITY_PERIOD) {
+ if ((serverDefaults == null) ||
+ (now - serverDefaultsLastUpdate > SERVER_DEFAULTS_VALIDITY_PERIOD)) {
serverDefaults = namenode.getServerDefaults();
serverDefaultsLastUpdate = now;
}
+ assert serverDefaults != null;
return serverDefaults;
}
http://git-wip-us.apache.org/repos/asf/hadoop/blob/95a8d452/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDistributedFileSystem.java
----------------------------------------------------------------------
diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDistributedFileSystem.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDistributedFileSystem.java
index 564c759..2c7f1a3 100644
--- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDistributedFileSystem.java
+++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestDistributedFileSystem.java
@@ -52,6 +52,7 @@ import org.apache.hadoop.fs.CommonConfigurationKeysPublic;
import org.apache.hadoop.fs.CreateFlag;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FSDataOutputStream;
+import org.apache.hadoop.fs.FsServerDefaults;
import org.apache.hadoop.fs.FileChecksum;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
@@ -1028,4 +1029,18 @@ public class TestDistributedFileSystem {
cluster.shutdown();
}
}
+
+ @Test(timeout=60000)
+ public void testGetServerDefaults() throws IOException {
+ Configuration conf = new HdfsConfiguration();
+ MiniDFSCluster cluster = new MiniDFSCluster.Builder(conf).build();
+ try {
+ cluster.waitActive();
+ DistributedFileSystem dfs = cluster.getFileSystem();
+ FsServerDefaults fsServerDefaults = dfs.getServerDefaults();
+ Assert.assertNotNull(fsServerDefaults);
+ } finally {
+ cluster.shutdown();
+ }
+ }
}