ZanderXu commented on code in PR #4659:
URL: https://github.com/apache/hadoop/pull/4659#discussion_r933720916


##########
hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/Server.java:
##########
@@ -1351,6 +1357,33 @@ private class ResponseParams {
 
     @Override
     public String toString() {
+      boolean isCallerContextEnabled = conf.getBoolean(
+          HADOOP_CALLER_CONTEXT_ENABLED_KEY,
+          HADOOP_CALLER_CONTEXT_ENABLED_DEFAULT);
+      CallerContext context = getCallerContext();
+      if (isCallerContextEnabled && context != null && 
context.isContextValid()) {
+        String cc = context.getContext();
+        String clientIp = "";
+        String ipKey = CallerContext.CLIENT_IP_STR +

Review Comment:
   HDFS-13248 use `isProxyUsers` to control whether obtain client's ip and port 
from `CallerContext`. But in this PR, you plan ignore `isProxyUsers`? 
   
   And where is the toString method used in NameNode?



##########
hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/ipc/Server.java:
##########
@@ -1351,6 +1357,33 @@ private class ResponseParams {
 
     @Override
     public String toString() {
+      boolean isCallerContextEnabled = conf.getBoolean(
+          HADOOP_CALLER_CONTEXT_ENABLED_KEY,
+          HADOOP_CALLER_CONTEXT_ENABLED_DEFAULT);
+      CallerContext context = getCallerContext();
+      if (isCallerContextEnabled && context != null && 
context.isContextValid()) {
+        String cc = context.getContext();
+        String clientIp = "";
+        String ipKey = CallerContext.CLIENT_IP_STR +
+                CallerContext.Builder.KEY_VALUE_SEPARATOR;
+        int posn = cc.indexOf(ipKey);
+        if (posn != -1) {
+          posn += ipKey.length();
+          int end = cc.indexOf(",", posn);
+          clientIp = (end == -1 ? cc.substring(posn) : cc.substring(posn, 
end));

Review Comment:
   This logic is same as `NameNode#getClientMachine()`, can you move it to the 
common module and can used by here and `NameNode`.



-- 
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.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to