Skip to content

Commit

Permalink
[bugfix](external) Prevent multiple fs from being generated (#39663)
Browse files Browse the repository at this point in the history
## Proposed changes

If the user has already registered, there is no need to register again,
otherwise `fs` will generate multiple instances.
  • Loading branch information
wuwenchi authored Aug 21, 2024
1 parent 55de8e5 commit 70983f2
Showing 1 changed file with 21 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,27 @@ private static UserGroupInformation loginWithUGI(AuthenticationConfig config) {
throw new RuntimeException(e);
}
} else {
return new HadoopSimpleAuthenticator((SimpleAuthenticationConfig) config).getUGI();
String hadoopUserName = ((SimpleAuthenticationConfig) config).getUsername();
if (hadoopUserName == null) {
hadoopUserName = "hadoop";
((SimpleAuthenticationConfig) config).setUsername(hadoopUserName);
LOG.debug(AuthenticationConfig.HADOOP_USER_NAME + " is unset, use default user: hadoop");
}

UserGroupInformation ugi;
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);
return ugi;
}
}

Expand Down

0 comments on commit 70983f2

Please sign in to comment.