From 055d5e0b851b16c0f604bd66b022338694901164 Mon Sep 17 00:00:00 2001 From: Brahma Reddy Battula Date: Mon, 12 Feb 2018 22:14:34 +0530 Subject: [PATCH] HDFS-8693. Addendum patch to execute the command using UGI. Contributed by Brahma Reddy Battula. (cherry picked from commit 35c17351cab645dcc72e0d2ae1608507aa787ffb) --- .../hdfs/server/datanode/BlockPoolManager.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BlockPoolManager.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BlockPoolManager.java index f6a11c24bb5..141550ef3b4 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BlockPoolManager.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/BlockPoolManager.java @@ -253,7 +253,20 @@ class BlockPoolManager { lifelineAddrs.add(nnIdToLifelineAddr != null ? nnIdToLifelineAddr.get(nnId) : null); } - bpos.refreshNNList(addrs, lifelineAddrs); + try { + UserGroupInformation.getLoginUser() + .doAs(new PrivilegedExceptionAction() { + @Override + public Object run() throws Exception { + bpos.refreshNNList(addrs, lifelineAddrs); + return null; + } + }); + } catch (InterruptedException ex) { + IOException ioe = new IOException(); + ioe.initCause(ex.getCause()); + throw ioe; + } } } }