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 zj...@apache.org on 2015/03/18 04:34:37 UTC
[45/50] hadoop git commit: HADOOP-11722. Some Instances of Services
using ZKDelegationTokenSecretManager go down when old token cannot be
deleted. Contributed by Arun Suresh.
HADOOP-11722. Some Instances of Services using ZKDelegationTokenSecretManager go down when old token cannot be deleted. Contributed by Arun Suresh.
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo
Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/fc90bf7b
Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/fc90bf7b
Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/fc90bf7b
Branch: refs/heads/YARN-2928
Commit: fc90bf7b27cc20486f2806670a14fd7d654b0a31
Parents: 968425e
Author: Aaron T. Myers <at...@apache.org>
Authored: Tue Mar 17 19:41:36 2015 -0700
Committer: Aaron T. Myers <at...@apache.org>
Committed: Tue Mar 17 19:41:36 2015 -0700
----------------------------------------------------------------------
hadoop-common-project/hadoop-common/CHANGES.txt | 4 ++++
.../ZKDelegationTokenSecretManager.java | 21 ++++++++++++++++++--
2 files changed, 23 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hadoop/blob/fc90bf7b/hadoop-common-project/hadoop-common/CHANGES.txt
----------------------------------------------------------------------
diff --git a/hadoop-common-project/hadoop-common/CHANGES.txt b/hadoop-common-project/hadoop-common/CHANGES.txt
index 3817054..a6bd68d 100644
--- a/hadoop-common-project/hadoop-common/CHANGES.txt
+++ b/hadoop-common-project/hadoop-common/CHANGES.txt
@@ -1111,6 +1111,10 @@ Release 2.7.0 - UNRELEASED
HADOOP-11720. [JDK8] Fix javadoc errors caused by incorrect or illegal
tags in hadoop-tools. (Akira AJISAKA via ozawa)
+ HADOOP-11722. Some Instances of Services using
+ ZKDelegationTokenSecretManager go down when old token cannot be deleted.
+ (Arun Suresh via atm)
+
Release 2.6.1 - UNRELEASED
INCOMPATIBLE CHANGES
http://git-wip-us.apache.org/repos/asf/hadoop/blob/fc90bf7b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/token/delegation/ZKDelegationTokenSecretManager.java
----------------------------------------------------------------------
diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/token/delegation/ZKDelegationTokenSecretManager.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/token/delegation/ZKDelegationTokenSecretManager.java
index ec522dcf..73c3ab8 100644
--- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/token/delegation/ZKDelegationTokenSecretManager.java
+++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/security/token/delegation/ZKDelegationTokenSecretManager.java
@@ -55,6 +55,7 @@ import org.apache.hadoop.security.token.Token;
import org.apache.hadoop.security.token.delegation.web.DelegationTokenManager;
import org.apache.zookeeper.CreateMode;
import org.apache.zookeeper.KeeperException;
+import org.apache.zookeeper.KeeperException.NoNodeException;
import org.apache.zookeeper.ZooDefs.Perms;
import org.apache.zookeeper.client.ZooKeeperSaslClient;
import org.apache.zookeeper.data.ACL;
@@ -709,7 +710,15 @@ public abstract class ZKDelegationTokenSecretManager<TokenIdent extends Abstract
try {
if (zkClient.checkExists().forPath(nodeRemovePath) != null) {
while(zkClient.checkExists().forPath(nodeRemovePath) != null){
- zkClient.delete().guaranteed().forPath(nodeRemovePath);
+ try {
+ zkClient.delete().guaranteed().forPath(nodeRemovePath);
+ } catch (NoNodeException nne) {
+ // It is possible that the node might be deleted between the
+ // check and the actual delete.. which might lead to an
+ // exception that can bring down the daemon running this
+ // SecretManager
+ LOG.debug("Node already deleted by peer " + nodeRemovePath);
+ }
}
} else {
LOG.debug("Attempted to delete a non-existing znode " + nodeRemovePath);
@@ -761,7 +770,15 @@ public abstract class ZKDelegationTokenSecretManager<TokenIdent extends Abstract
try {
if (zkClient.checkExists().forPath(nodeRemovePath) != null) {
while(zkClient.checkExists().forPath(nodeRemovePath) != null){
- zkClient.delete().guaranteed().forPath(nodeRemovePath);
+ try {
+ zkClient.delete().guaranteed().forPath(nodeRemovePath);
+ } catch (NoNodeException nne) {
+ // It is possible that the node might be deleted between the
+ // check and the actual delete.. which might lead to an
+ // exception that can bring down the daemon running this
+ // SecretManager
+ LOG.debug("Node already deleted by peer " + nodeRemovePath);
+ }
}
} else {
LOG.debug("Attempted to remove a non-existing znode " + nodeRemovePath);