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

Chandra Sekhar K commented on HBASE-28088:
------------------------------------------

we can check the server status and throw a 
FatalConnectionException/ServerNotRunningYetException if not started yet. the  
client can close current connection and retry with new connection.

[~bbeaudreault] , if you are not working on this issue, i can submit a PR with 
above fix..

> NullPointerException authorizing connection on regionserver startup
> -------------------------------------------------------------------
>
>                 Key: HBASE-28088
>                 URL: https://issues.apache.org/jira/browse/HBASE-28088
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Bryan Beaudreault
>            Priority: Major
>
> When a RegionServer starts up, the HRegionServer constructor calls 
> createRpcServices() which creates RSRpcServices, which uses RpcServerFactory 
> to create a NettyRpcServer. The NettyRpcServer constructor binds the process 
> to the given regionserver port. At this point it is able to accept requests.
> Later in the HRegionServer constructor, it calls 
> rpcServices.start(zooKeeper). This calls NettyRpcServer.start(), which 
> initializes the AuthManager.
> Since there is a period of time where the server can accept requests but 
> AuthManager is not initialized, if you have authentication enabled you will 
> receive NullPointerExceptions (see below). These will clear up once the 
> server starts.
> We should fix the flow here to avoid these errors.
> {code:java}
> 2023-09-15T20:47:35,300 [RS-EventLoopGroup-1-3] WARN 
> org.apache.hadoop.hbase.ipc.NettyRpcServer: Connection xxx.xxx.xxx.xxx:49402; 
> caught unexpected downstream exception.
> java.lang.NullPointerException: Cannot invoke 
> "org.apache.hadoop.security.authorize.ServiceAuthorizationManager.authorize(org.apache.hadoop.security.UserGroupInformation,
>  java.lang.Class, org.apache.hadoop.conf.Configuration, 
> java.net.InetAddress)" because "this.authManager" is null
>         at 
> org.apache.hadoop.hbase.ipc.RpcServer.authorize(RpcServer.java:654) 
> ~[hbase-server-2.5-hubspot-20230913.131903-57.jar:2.5-hubspot-SNAPSHOT]
>         at 
> org.apache.hadoop.hbase.ipc.ServerRpcConnection.authorizeConnection(ServerRpcConnection.java:381)
>  ~[hbase-server-2.5-hubspot-20230913.131903-57.jar:2.5-hubspot-SNAPSHOT]
>         at 
> org.apache.hadoop.hbase.ipc.ServerRpcConnection.processOneRpc(ServerRpcConnection.java:362)
>  ~[hbase-server-2.5-hubspot-20230913.131903-57.jar:2.5-hubspot-SNAPSHOT]
>         at 
> org.apache.hadoop.hbase.ipc.NettyServerRpcConnection.process(NettyServerRpcConnection.java:89)
>  ~[hbase-server-2.5-hubspot-20230913.131903-57.jar:2.5-hubspot-SNAPSHOT] 
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to