[
https://issues.apache.org/jira/browse/HDFS-16979?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17721235#comment-17721235
]
ASF GitHub Bot commented on HDFS-16979:
---------------------------------------
ayushtkn commented on code in PR #5552:
URL: https://github.com/apache/hadoop/pull/5552#discussion_r1189473819
##########
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java:
##########
@@ -462,13 +462,24 @@ private void appendClientPortToCallerContextIfAbsent() {
.setSignature(origSignature)
.build());
}
+ ctx = CallerContext.getCurrent();
+ if (isFormProxyUser(ctx)) {
+ CallerContext.setCurrent(
+ new CallerContext.Builder(ctx.getContext(), contextFieldSeparator)
+ .append(CallerContext.PROXY_USER_PORT,
String.valueOf(Server.getRemotePort()))
+ .setSignature(ctx.getSignature())
+ .build());
+ }
}
private boolean isClientPortInfoAbsent(CallerContext ctx){
return ctx == null || ctx.getContext() == null
|| !ctx.getContext().contains(CallerContext.CLIENT_PORT_STR);
}
+ private boolean isFormProxyUser(CallerContext ctx) {
+ return ctx != null &&
ctx.getContext().contains(CallerContext.REAL_USER_STR);
+ }
Review Comment:
typo: form -> from
Add a null check for getContext as well.
```
private boolean isFromProxyUser(CallerContext ctx) {
return ctx != null && ctx.getContext() != null && ctx.getContext()
.contains(CallerContext.REAL_USER_STR);
}
```
##########
hadoop-hdfs-project/hadoop-hdfs-rbf/src/test/java/org/apache/hadoop/hdfs/server/federation/router/TestRouterRpc.java:
##########
@@ -2116,6 +2121,8 @@ public void testRealUserPropagationInCallerContext()
// Real user is added to the caller context.
assertTrue("The audit log should contain the real user.",
logOutput.contains(String.format("realUser:%s",
realUser.getUserName())));
+ assertTrue("The audit log should contain the proxyuser port.",
+ logOutput.contains(PROXY_USER_PORT));
Review Comment:
can you assert the router port as well? There are 2 routers and it should be
either of them?
> RBF: Add dfsrouter port in hdfsauditlog
> ---------------------------------------
>
> Key: HDFS-16979
> URL: https://issues.apache.org/jira/browse/HDFS-16979
> Project: Hadoop HDFS
> Issue Type: Improvement
> Reporter: liuguanghua
> Priority: Major
> Labels: pull-request-available
>
> When remote client request through dfsrouter to namenode, the hdfsauditlog
> record the remote client ip and port ,dfsrouter IP,but lack of dfsrouter port.
> This patch is done for this scene.
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]