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)

Reply via email to