This is an automated email from the ASF dual-hosted git repository.

weichiu pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/hadoop.git


The following commit(s) were added to refs/heads/trunk by this push:
     new 4be8735  HDFS-14140. JournalNodeSyncer authentication is failing in 
secure cluster. Contributed by Surendra Singh Lilhore.
4be8735 is described below

commit 4be87353e35a30d95d8847b09a1890b014bfc6bb
Author: Surendra Singh Lilhore <surendralilh...@apache.org>
AuthorDate: Thu Feb 7 16:43:55 2019 -0800

    HDFS-14140. JournalNodeSyncer authentication is failing in secure cluster. 
Contributed by Surendra Singh Lilhore.
    
    Signed-off-by: Wei-Chiu Chuang <weic...@apache.org>
---
 .../hdfs/qjournal/server/JournalNodeSyncer.java    | 25 +++++++++++++++-------
 1 file changed, 17 insertions(+), 8 deletions(-)

diff --git 
a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/qjournal/server/JournalNodeSyncer.java
 
b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/qjournal/server/JournalNodeSyncer.java
index 7b3d970..d2b2c9b 100644
--- 
a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/qjournal/server/JournalNodeSyncer.java
+++ 
b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/qjournal/server/JournalNodeSyncer.java
@@ -38,6 +38,7 @@ import org.apache.hadoop.hdfs.util.DataTransferThrottler;
 import org.apache.hadoop.ipc.ProtobufRpcEngine;
 import org.apache.hadoop.ipc.RPC;
 import org.apache.hadoop.security.SecurityUtil;
+import org.apache.hadoop.security.UserGroupInformation;
 import org.apache.hadoop.util.Daemon;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -439,15 +440,23 @@ public class JournalNodeSyncer {
     File tmpEditsFile = jnStorage.getTemporaryEditsFile(
         log.getStartTxId(), log.getEndTxId());
 
-    try {
-      Util.doGetUrl(url, ImmutableList.of(tmpEditsFile), jnStorage, false,
-          logSegmentTransferTimeout, throttler);
-    } catch (IOException e) {
-      LOG.error("Download of Edit Log file for Syncing failed. Deleting temp " 
+
-          "file: " + tmpEditsFile);
-      if (!tmpEditsFile.delete()) {
-        LOG.warn("Deleting " + tmpEditsFile + " has failed");
+    if (!SecurityUtil.doAsLoginUser(() -> {
+      if (UserGroupInformation.isSecurityEnabled()) {
+        UserGroupInformation.getCurrentUser().checkTGTAndReloginFromKeytab();
+      }
+      try {
+        Util.doGetUrl(url, ImmutableList.of(tmpEditsFile), jnStorage, false,
+            logSegmentTransferTimeout, throttler);
+      } catch (IOException e) {
+        LOG.error("Download of Edit Log file for Syncing failed. Deleting temp 
"
+            + "file: " + tmpEditsFile, e);
+        if (!tmpEditsFile.delete()) {
+          LOG.warn("Deleting " + tmpEditsFile + " has failed");
+        }
+        return false;
       }
+      return true;
+    })) {
       return false;
     }
     LOG.info("Downloaded file " + tmpEditsFile.getName() + " of size " +


---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-commits-h...@hadoop.apache.org

Reply via email to