hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Purtell (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HBASE-19708) Avoid NPE when the RPC listener's accept channel is closed
Date Fri, 05 Jan 2018 03:04:00 GMT

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

Andrew Purtell commented on HBASE-19708:

bq. Does this change make another NPE when stopping RpcServer?

Maybe. I can remove it, actually, it's a left over from an earlier change. Saving the address
lookup to field {{address}} is enough to fix the problem apparent in the stacktrace. 

> Avoid NPE when the RPC listener's accept channel is closed
> ----------------------------------------------------------
>                 Key: HBASE-19708
>                 URL: https://issues.apache.org/jira/browse/HBASE-19708
>             Project: HBase
>          Issue Type: Bug
>    Affects Versions: 0.98.24
>            Reporter: Andrew Purtell
>            Assignee: Andrew Purtell
>            Priority: Minor
>             Fix For: 1.3.2, 1.4.1, 1.5.0
>         Attachments: HBASE-19708-branch-1.patch
> Rare NPE when the listener's accept channel is closed. We serialize access to related
state to avoid a previously fixed related NPE and need to do the same for {{acceptChannel}}.
Seen in a 0.98 deploy but I think applicable to later code lines. Let me check.
> Exception in thread "MetadataRpcServer.handler=191,queue=0,port=60020" java.lang.NullPointerException
> 	at org.apache.hadoop.hbase.ipc.RpcServer$Listener.getAddress(RpcServer.java:858)
> 	at org.apache.hadoop.hbase.ipc.RpcServer.getListenerAddress(RpcServer.java:2338)
> 	at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:140)
> 	at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:133)
> 	at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:108)
> 	at java.lang.Thread.run(Thread.java:745)

This message was sent by Atlassian JIRA

View raw message