[ 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)