[ 
https://issues.apache.org/jira/browse/HBASE-29577?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Work on HBASE-29577 started by Junegunn Choi.
---------------------------------------------
> Fix NPE from RegionServerRpcQuotaManager when reloading configuration
> ---------------------------------------------------------------------
>
>                 Key: HBASE-29577
>                 URL: https://issues.apache.org/jira/browse/HBASE-29577
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Junegunn Choi
>            Assignee: Junegunn Choi
>            Priority: Minor
>
> h2. Problem
> Since HBASE-29387, {{RegionServerRpcQuotaManager}} implements 
> {{ConfigurationObserver}} to support dynamic reloading of quota 
> configuration. However, it throws an NPE when quotas are not enabled 
> ({{hbase.quota.enabled: false}}).
> {code}
> 2025-09-08T23:40:09,886 ERROR 
> [RpcServer.priority.RWQ.Fifo.read.handler=10,queue=1,port=16020 {}] 
> conf.ConfigurationManager: Encountered a throwable while notifying observers: 
> of type : 
> org.apache.hadoop.hbase.quotas.RegionServerRpcQuotaManager(org.apache.hadoop.hbase.quotas.RegionServerRpcQuotaManager@183fc46c)
> java.lang.NullPointerException: Cannot invoke 
> "org.apache.hadoop.hbase.quotas.QuotaCache.forceSynchronousCacheRefresh()" 
> because "this.quotaCache" is null
>         at 
> org.apache.hadoop.hbase.quotas.RegionServerRpcQuotaManager.reload(RegionServerRpcQuotaManager.java:94)
>  ~[classes/:?]
>         at 
> org.apache.hadoop.hbase.quotas.RegionServerRpcQuotaManager.onConfigurationChange(RegionServerRpcQuotaManager.java:99)
>  ~[classes/:?]
>         at 
> org.apache.hadoop.hbase.conf.ConfigurationManager.notifyAllObservers(ConfigurationManager.java:110)
>  ~[hbase-common-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
>         at 
> org.apache.hadoop.hbase.HBaseServerBase.updateConfiguration(HBaseServerBase.java:627)
>  ~[classes/:?]
>         at 
> org.apache.hadoop.hbase.HBaseRpcServicesBase.updateConfiguration(HBaseRpcServicesBase.java:318)
>  ~[classes/:?]
>         at 
> org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos$AdminService$2.callBlockingMethod(AdminProtos.java:34073)
>  ~[hbase-protocol-shaded-4.0.0-alpha-1-SNAPSHOT.jar:4.0.0-alpha-1-SNAPSHOT]
>         at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:457) 
> ~[classes/:?]
>         at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:124) 
> ~[classes/:?]
>         at org.apache.hadoop.hbase.ipc.RpcHandler.run(RpcHandler.java:102) 
> ~[classes/:?]
>         at org.apache.hadoop.hbase.ipc.RpcHandler.run(RpcHandler.java:82) 
> ~[classes/:?]
> {code}
> h2. How to reproduce
> # Start HBase with the default configuration (quota disabled).
> # Run {{update_all_config}} command from the shell.
> h2. Solution
> Add a missing null check.



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

Reply via email to