Junegunn Choi created HBASE-29577:
-------------------------------------
Summary: 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
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)