diff --git a/server/odc-service/src/main/java/com/oceanbase/odc/config/HookConfiguration.java b/server/odc-service/src/main/java/com/oceanbase/odc/config/HookConfiguration.java index 57a715a17a..7b32df1235 100644 --- a/server/odc-service/src/main/java/com/oceanbase/odc/config/HookConfiguration.java +++ b/server/odc-service/src/main/java/com/oceanbase/odc/config/HookConfiguration.java @@ -17,6 +17,7 @@ import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.Set; import java.util.stream.Collectors; @@ -190,8 +191,9 @@ private void checkRiskLevelReference(Long id, String name, Long organizationId, Set referencedRiskDetectRules = riskDetectService.listAllByOrganizationId(organizationId) .stream() - .filter(rule -> rule.getRootNode().find(ConditionExpression.ENVIRONMENT_ID.name(), id) - || rule.getRootNode().find(ConditionExpression.ENVIRONMENT_NAME.name(), name)) + .filter(rule -> Objects.nonNull(rule.getRootNode()) + && (rule.getRootNode().find(ConditionExpression.ENVIRONMENT_ID.name(), id) + || rule.getRootNode().find(ConditionExpression.ENVIRONMENT_NAME.name(), name))) .collect(Collectors.toSet()); if (!referencedRiskDetectRules.isEmpty()) { diff --git a/server/odc-service/src/main/java/com/oceanbase/odc/service/regulation/risklevel/model/RiskDetectRule.java b/server/odc-service/src/main/java/com/oceanbase/odc/service/regulation/risklevel/model/RiskDetectRule.java index 659aa9e632..b32455abdb 100644 --- a/server/odc-service/src/main/java/com/oceanbase/odc/service/regulation/risklevel/model/RiskDetectRule.java +++ b/server/odc-service/src/main/java/com/oceanbase/odc/service/regulation/risklevel/model/RiskDetectRule.java @@ -46,8 +46,6 @@ public class RiskDetectRule { /** * rule root node */ - @NotNull - @Valid private BaseTreeNode rootNode; @NotNull