hadoop-hdfs-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chengwei Wang (Jira)" <j...@apache.org>
Subject [jira] [Commented] (HDFS-13293) RBF: The RouterRPCServer should transfer client IP via CallerContext to NamenodeRpcServer
Date Tue, 13 Oct 2020 08:04:00 GMT

    [ https://issues.apache.org/jira/browse/HDFS-13293?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17212912#comment-17212912
] 

Chengwei Wang commented on HDFS-13293:
--------------------------------------

Hi [~ferhui], did you test this patch while a mount table with multi-destinations?

In my test cases, there were two issues when a mount  table contains multi-destinations.

1. The clientIp duplicated in CallerContext when RouterRpcClient#invokeSequential. It caused
by  that current thread would append the clientIp to current CallerContext  when it called
RouterRpcClient#invokeMethod every time.
{code:java}
  2020-10-13 14:46:17,083 [IPC Server handler 6 on default port 13189] INFO  FSNamesystem.audit
(FSNamesystem.java:logAuditMessage(8680)) - allowed=true  ugi=root (auth:SIMPLE)  ip=/127.0.0.1
  cmd=getfileinfo   src=/test_dir_with_callercontext    dst=null    perm=null   proto=rpc
  callerContext=clientContext,clientIp:10.145.43.214                                     
                                                
  2020-10-13 14:46:17,084 [IPC Server handler 1 on default port 14269] INFO  FSNamesystem.audit
(FSNamesystem.java:logAuditMessage(8680)) - allowed=true  ugi=root (auth:SIMPLE)  ip=/127.0.0.1
  cmd=getfileinfo   src=/test_dir_with_callercontext    dst=null    perm=null   proto=rpc
callerContext=clientContext,clientIp:10.145.43.214,clientIp:10.145.43.214{code}
 

2. the clientIp missed in CallerContext when RouterRpcClient#invokeConcurrent. It caused
by that  RouterRpcClient#invokeConcurrent used a ThreadPoolExecutor to execute request concurrent,
however the worker threads of ThreadPoolExecutor can't get clientIp by Server#getRemoteAddress
(thread local value only initialized of current thread).

 
{code:java}
  2020-10-13 14:46:18,305 [IPC Server handler 7 on default port 13189] INFO FSNamesystem.audit
(FSNamesystem.java:logAuditMessage(8680)) - allowed=true ugi=root (auth:SIMPLE) ip=/127.0.0.1
cmd=listStatus src=/ dst=null perm=null proto=rpc callerContext=clientContext
  2020-10-13 14:46:18,305 [IPC Server handler 0 on default port 14269] INFO FSNamesystem.audit
(FSNamesystem.java:logAuditMessage(8680)) - allowed=true ugi=root (auth:SIMPLE) ip=/127.0.0.1
cmd=listStatus src=/ dst=null perm=null proto=rpc callerContext=clientContext
{code}
 

 

Please help to check the issues, and I would try to fix these  if necessary.

> RBF: The RouterRPCServer should transfer client IP via CallerContext to NamenodeRpcServer
> -----------------------------------------------------------------------------------------
>
>                 Key: HDFS-13293
>                 URL: https://issues.apache.org/jira/browse/HDFS-13293
>             Project: Hadoop HDFS
>          Issue Type: Sub-task
>            Reporter: maobaolong
>            Assignee: Hui Fei
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 3.4.0
>
>         Attachments: HDFS-13293.001.patch
>
>          Time Spent: 4h 40m
>  Remaining Estimate: 0h
>
> Otherwise, the namenode don't know the client's callerContext
> This jira focuses on audit log which logs real client ip. Leave locality to HDFS-13248



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: hdfs-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: hdfs-issues-help@hadoop.apache.org


Mime
View raw message