[
https://issues.apache.org/jira/browse/HBASE-29577?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Junegunn Choi resolved HBASE-29577.
-----------------------------------
Resolution: Fixed
> 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
> Labels: pull-request-available
> Fix For: 2.7.0, 3.0.0-beta-2, 2.6.4
>
>
> 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)