diff --git a/fe/fe-common/src/main/java/org/apache/doris/common/security/authentication/HadoopUGI.java b/fe/fe-common/src/main/java/org/apache/doris/common/security/authentication/HadoopUGI.java index 5e61664c8fa015..1a86b9e327a2fb 100644 --- a/fe/fe-common/src/main/java/org/apache/doris/common/security/authentication/HadoopUGI.java +++ b/fe/fe-common/src/main/java/org/apache/doris/common/security/authentication/HadoopUGI.java @@ -76,6 +76,16 @@ private static UserGroupInformation loginWithUGI(AuthenticationConfig config) { ((SimpleAuthenticationConfig) config).setUsername(hadoopUserName); LOG.debug(AuthenticationConfig.HADOOP_USER_NAME + " is unset, use default user: hadoop"); } + + try { + ugi = UserGroupInformation.getLoginUser(); + if (ugi.getUserName().equals(hadoopUserName)) { + return ugi; + } + } catch (IOException e) { + LOG.warn("A SecurityException occurs with simple, do login immediately.", e); + } + ugi = UserGroupInformation.createRemoteUser(hadoopUserName); UserGroupInformation.setLoginUser(ugi); LOG.debug("Login by proxy user, hadoop.username: {}", hadoopUserName);