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)