hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hudson (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-14771) RpcServer#getRemoteAddress always returns null
Date Wed, 18 Nov 2015 06:33:11 GMT

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

Hudson commented on HBASE-14771:
--------------------------------

FAILURE: Integrated in HBase-1.2 #380 (See [https://builds.apache.org/job/HBase-1.2/380/])
HBASE-14771 RpcServer#getRemoteAddress always returns null (Abhishek (tedyu: rev e365be4bc3f18ba7ba4abbcbb6fab0117d457562)
* hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RpcServer.java
* hbase-server/src/test/java/org/apache/hadoop/hbase/ipc/AbstractTestIPC.java


> RpcServer#getRemoteAddress always returns null
> ----------------------------------------------
>
>                 Key: HBASE-14771
>                 URL: https://issues.apache.org/jira/browse/HBASE-14771
>             Project: HBase
>          Issue Type: Bug
>          Components: IPC/RPC
>    Affects Versions: 1.2.0
>            Reporter: Abhishek Kumar
>            Assignee: Abhishek Kumar
>            Priority: Minor
>             Fix For: 2.0.0, 1.2.0, 1.3.0
>
>         Attachments: 14771-V2.patch, HBASE-14771-V1.patch, HBASE-14771-V2.patch, HBASE-14771.patch
>
>
> RpcServer.getRemoteAddress always returns null, because Call object is getting initialized
with null.This seems to be happening because of using RpcServer.getRemoteIp() in  Call object
constructor before RpcServer thread local 'CurCall' being set in CallRunner.run method:
> {noformat}
> // --- RpcServer.java ---
> protected void processRequest(byte[] buf) throws IOException, InterruptedException {
>  .................................
> // Call object getting initialized here with address 
> // obtained from RpcServer.getRemoteIp()
> Call call = new Call(id, this.service, md, header, param, cellScanner, this, responder,
>               totalRequestSize, traceInfo, RpcServer.getRemoteIp());
>   scheduler.dispatch(new CallRunner(RpcServer.this, call));
>  }
> // getRemoteIp method gets address from threadlocal 'CurCall' which 
> // gets set in CallRunner.run and calling it before this as in above case, will return
null
> // --- CallRunner.java ---
> public void run() {
>   .........................   
>   Pair<Message, CellScanner> resultPair = null;
>   RpcServer.CurCall.set(call);
>   ..............................
> }
> // Using 'this.addr' in place of getRemoteIp method in RpcServer.java seems to be fixing
this issue
> Call call = new Call(id, this.service, md, header, param, cellScanner, this, responder,
>               totalRequestSize, traceInfo, this.addr);
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message