@@ -56,6 +56,7 @@ public class DegradeRuleManager {
56
56
*/
57
57
public static void register2Property (SentinelProperty <List <DegradeRule >> property ) {
58
58
synchronized (listener ) {
59
+ RecordLog .info ("[DegradeRuleManager] Registering new property to degrade rule manager" );
59
60
currentProperty .removeListener (listener );
60
61
property .addListener (listener );
61
62
currentProperty = property ;
@@ -122,7 +123,7 @@ public void configUpdate(List<DegradeRule> conf) {
122
123
degradeRules .clear ();
123
124
degradeRules .putAll (rules );
124
125
}
125
- RecordLog .info ("receive degrade config : " + degradeRules );
126
+ RecordLog .info ("[DegradeRuleManager] Degrade rules received : " + degradeRules );
126
127
}
127
128
128
129
@ Override
@@ -132,16 +133,22 @@ public void configLoad(List<DegradeRule> conf) {
132
133
degradeRules .clear ();
133
134
degradeRules .putAll (rules );
134
135
}
135
- RecordLog .info ("init degrade config : " + degradeRules );
136
+ RecordLog .info ("[DegradeRuleManager] Degrade rules loaded : " + degradeRules );
136
137
}
137
138
138
139
private Map <String , List <DegradeRule >> loadDegradeConf (List <DegradeRule > list ) {
139
- if (list == null ) {
140
- return null ;
141
- }
142
140
Map <String , List <DegradeRule >> newRuleMap = new ConcurrentHashMap <String , List <DegradeRule >>();
143
141
142
+ if (list == null || list .isEmpty ()) {
143
+ return newRuleMap ;
144
+ }
145
+
144
146
for (DegradeRule rule : list ) {
147
+ if (!isValidRule (rule )) {
148
+ RecordLog .warn ("[DegradeRuleManager] Ignoring invalid degrade rule when loading new rules: " + rule );
149
+ continue ;
150
+ }
151
+
145
152
if (StringUtil .isBlank (rule .getLimitApp ())) {
146
153
rule .setLimitApp (FlowRule .LIMIT_APP_DEFAULT );
147
154
}
@@ -160,4 +167,7 @@ private Map<String, List<DegradeRule>> loadDegradeConf(List<DegradeRule> list) {
160
167
161
168
}
162
169
170
+ private static boolean isValidRule (DegradeRule rule ) {
171
+ return rule != null && !StringUtil .isBlank (rule .getResource ()) && rule .getCount () >= 0 ;
172
+ }
163
173
}
0 commit comments