This is an automated email from the ASF dual-hosted git repository.

jiangtian pushed a commit to branch dev/1.3
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/dev/1.3 by this push:
     new 91280d1554b [To dev/1.3] Fixed the potential NPE of schema quota 
(#17140) (#17151)
91280d1554b is described below

commit 91280d1554b2c334d201ec26a4dffe24cd4efb65
Author: Caideyipi <[email protected]>
AuthorDate: Wed Feb 4 09:37:46 2026 +0800

    [To dev/1.3] Fixed the potential NPE of schema quota (#17140) (#17151)
---
 .../org/apache/iotdb/confignode/manager/ClusterQuotaManager.java     | 5 +++--
 .../org/apache/iotdb/confignode/persistence/quota/QuotaInfo.java     | 4 +---
 2 files changed, 4 insertions(+), 5 deletions(-)

diff --git 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/ClusterQuotaManager.java
 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/ClusterQuotaManager.java
index cbfa1bc2fb2..edbc958f4f2 100644
--- 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/ClusterQuotaManager.java
+++ 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/ClusterQuotaManager.java
@@ -47,6 +47,7 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.atomic.AtomicLong;
 
@@ -111,8 +112,8 @@ public class ClusterQuotaManager {
   /** If the new quota is smaller than the quota already used, the setting 
fails. */
   private boolean checkSpaceQuota(TSetSpaceQuotaReq req) {
     for (String database : req.getDatabase()) {
-      if (quotaInfo.getSpaceQuotaLimit().containsKey(database)) {
-        TSpaceQuota spaceQuota = quotaInfo.getSpaceQuotaUsage().get(database);
+      TSpaceQuota spaceQuota = quotaInfo.getSpaceQuotaUsage().get(database);
+      if (Objects.nonNull(spaceQuota)) {
         if (req.getSpaceLimit().getDeviceNum() != IoTDBConstant.UNLIMITED_VALUE
             && req.getSpaceLimit().getDeviceNum() != 
IoTDBConstant.DEFAULT_VALUE
             && spaceQuota.getDeviceNum() > req.getSpaceLimit().getDeviceNum()) 
{
diff --git 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/persistence/quota/QuotaInfo.java
 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/persistence/quota/QuotaInfo.java
index 59b484de0fc..93d2b272109 100644
--- 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/persistence/quota/QuotaInfo.java
+++ 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/persistence/quota/QuotaInfo.java
@@ -87,9 +87,7 @@ public class QuotaInfo implements SnapshotProcessor {
           spaceQuota.setDiskSize(IoTDBConstant.DEFAULT_VALUE);
         }
       }
-      if (!spaceQuotaUsage.containsKey(database)) {
-        spaceQuotaUsage.put(database, new TSpaceQuota());
-      }
+      spaceQuotaUsage.computeIfAbsent(database, k -> new TSpaceQuota());
       spaceQuotaLimit.put(database, spaceQuota);
     }
     return RpcUtils.getStatus(TSStatusCode.SUCCESS_STATUS);

Reply via email to