ferhui commented on a change in pull request #2363:
URL: https://github.com/apache/hadoop/pull/2363#discussion_r501240102
##########
File path:
hadoop-hdfs-project/hadoop-hdfs-rbf/src/test/java/org/apache/hadoop/hdfs/server/federation/router/TestRouterRpc.java
##########
@@ -1901,4 +1904,27 @@ private DFSClient getFileDFSClient(final String path) {
}
return null;
}
+
+ @Test
+ public void testMkdirsWithCallerContext() throws IOException {
+ GenericTestUtils.LogCapturer auditlog =
+ GenericTestUtils.LogCapturer.captureLogs(FSNamesystem.auditLog);
+
+ // Current callerContext is null
+ assertNull(CallerContext.getCurrent());
+
+ // Set client context
+ CallerContext.setCurrent(
+ new CallerContext.Builder("clientContext").build());
+
+ // Create a directory via the router
+ String dirPath = "/test_dir_with_callercontext";
+ FsPermission permission = new FsPermission("755");
+ routerProtocol.mkdirs(dirPath, permission, false);
+
+ // The audit log should contains "callerContext=clientContext,clientIp:"
+ assertTrue(auditlog.getOutput()
+ .contains("callerContext=clientContext,clientIp:"));
Review comment:
Sorry, do not understand it.
I think If we check the actual IP, we should get the client actual IP, e.g
"w.x.y.z", and then check the audit log, it should contain
"callerContext=clientContext,clientIp:w.x.y.z", is it right?
Now it's hard to get client ip.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]