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

xiaoyu pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shenyu.git


The following commit(s) were added to refs/heads/master by this push:
     new 7619dde2c [type:feat] add sentinel rule handle parameter. (#3982)
7619dde2c is described below

commit 7619dde2c62e55ce0aafcd67865fb4fe86384940
Author: yunlongn <[email protected]>
AuthorDate: Thu Sep 22 15:00:58 2022 +0800

    [type:feat] add sentinel rule handle parameter. (#3982)
---
 db/init/mysql/schema.sql                           |  2 +
 db/init/oracle/schema.sql                          |  6 +++
 db/init/pg/create-table.sql                        |  3 ++
 db/upgrade/2.5.0-upgrade-2.5.1-mysql.sql           |  2 +
 db/upgrade/2.5.0-upgrade-2.5.1-oracle.sql          |  9 +++-
 db/upgrade/2.5.0-upgrade-2.5.1-pg.sql              |  3 ++
 .../src/main/resources/sql-script/h2/schema.sql    |  2 +
 .../common/dto/convert/rule/SentinelHandle.java    | 57 +++++++++++++++++++++-
 .../dto/convert/rule/SentinelHandleTest.java       |  6 ++-
 .../test/http/combination/SentinelPluginTest.java  | 31 ++++++------
 .../sentinel/handler/SentinelRuleHandle.java       |  2 +
 11 files changed, 104 insertions(+), 19 deletions(-)

diff --git a/db/init/mysql/schema.sql b/db/init/mysql/schema.sql
index d6afaef1f..01cc50e54 100644
--- a/db/init/mysql/schema.sql
+++ b/db/init/mysql/schema.sql
@@ -850,6 +850,8 @@ INSERT INTO `plugin_handle` VALUES ('1529402613204172739', 
'38', 'database', 'da
 INSERT INTO `plugin_handle` VALUES ('1529402613204172740', '38', 'username', 
'username', 2, 2, 0, 
'{\"required\":\"0\",\"defaultValue\":\"foo\",\"placeholder\":\"username\"}', 
'2022-06-19 22:00:00', '2022-06-19 22:00:00');
 INSERT INTO `plugin_handle` VALUES ('1529402613204172741', '38', 'password', 
'password', 2, 2, 0, 
'{\"required\":\"0\",\"defaultValue\":\"bar\",\"placeholder\":\"password\"}', 
'2022-06-19 22:00:00', '2022-06-19 22:00:00');
 INSERT INTO `plugin_handle` VALUES ('1529402613204172742', '8', 'loadBalance', 
'loadStrategy', 3, 2, 3, '{\"defaultValue\":\"roundRobin\",\"rule\":\"\"}', 
'2022-05-25 18:02:53', '2022-05-25 18:02:53');
+INSERT INTO `plugin_handle` VALUES ('1529402613204172743', '10', 
'flowRuleEnable', 'flowRuleMaxQueueingTimeMs', 1, 2, 6, 
'{\"required\":\"0\",\"defaultValue\":\"500\"}', '2022-05-25 18:02:53', 
'2022-05-25 18:02:53');
+INSERT INTO `plugin_handle` VALUES ('1529402613204172744', '10', 
'flowRuleEnable', 'flowRuleWarmUpPeriodSec', 1, 2, 6, 
'{\"required\":\"0\",\"defaultValue\":\"10\"}', '2022-05-25 18:02:53', 
'2022-05-25 18:02:53');
 
 -- ----------------------------
 -- Table structure for resource
diff --git a/db/init/oracle/schema.sql b/db/init/oracle/schema.sql
index 09b6e6118..3db7d8e57 100644
--- a/db/init/oracle/schema.sql
+++ b/db/init/oracle/schema.sql
@@ -1538,6 +1538,12 @@ values ('1518229897214468226', '38', 'password', 
'password', 2, 2, 0, '{"require
 insert /*+ IGNORE_ROW_ON_DUPKEY_INDEX(plugin_handle(plugin_id, field, type)) 
*/ into plugin_handle (ID, PLUGIN_ID, FIELD, LABEL, DATA_TYPE, TYPE, SORT, 
EXT_OBJ)
 values ('1518229897214468227', '8', 'loadBalance', 'loadStrategy', 3, 2, 3, 
'{"defaultValue":"roundRobin","rule":""}');
 
+insert /*+ IGNORE_ROW_ON_DUPKEY_INDEX(plugin_handle(plugin_id, field, type)) 
*/ into plugin_handle (ID, PLUGIN_ID, FIELD, LABEL, DATA_TYPE, TYPE, SORT, 
EXT_OBJ)
+values ('1518229897214468228', '10', 'flowRuleMaxQueueingTimeMs', 
'flowRuleMaxQueueingTimeMs', 1, 2, 6, '{"required":"0","defaultValue":"500"}');
+
+insert /*+ IGNORE_ROW_ON_DUPKEY_INDEX(plugin_handle(plugin_id, field, type)) 
*/ into plugin_handle (ID, PLUGIN_ID, FIELD, LABEL, DATA_TYPE, TYPE, SORT, 
EXT_OBJ)
+values ('1518229897214468229', '10', 'flowRuleWarmUpPeriodSec', 
'flowRuleWarmUpPeriodSec', 1, 2, 6, '{"required":"0","defaultValue":"10"}');
+
 
 insert /*+ IGNORE_ROW_ON_DUPKEY_INDEX(shenyu_dict(type, dict_code, dict_name)) 
*/ into SHENYU_DICT (ID, TYPE, DICT_CODE, DICT_NAME, DICT_VALUE, "desc", SORT, 
ENABLED)
 VALUES ('1529402613195784271', 'securityProtocol', 'SECURITY_PROTOCOL', 
'default', '', '', 0, 1);
diff --git a/db/init/pg/create-table.sql b/db/init/pg/create-table.sql
index e08652b92..a9ec45e3f 100644
--- a/db/init/pg/create-table.sql
+++ b/db/init/pg/create-table.sql
@@ -939,6 +939,9 @@ INSERT INTO "public"."plugin_handle" VALUES 
('1529403902783524999', '38', 'datab
 INSERT INTO "public"."plugin_handle" VALUES ('1529402613204172800', '38', 
'username', 'username', 2, 2, 0, 
'{"required":"0","defaultValue":"foo","placeholder":"username"}', '2022-06-30 
21:00:00', '2022-06-30 21:00:00');
 INSERT INTO "public"."plugin_handle" VALUES ('1529402613204172801', '38', 
'password', 'password', 2, 2, 0, 
'{"required":"0","defaultValue":"bar","placeholder":"password"}', '2022-06-30 
21:00:00', '2022-06-30 21:00:00');
 INSERT INTO "public"."plugin_handle" VALUES ('1529402613204172802', '8', 
'loadBalance', 'loadStrategy', 3, 2, 3, 
'{"defaultValue":"roundRobin","rule":""}', '2022-06-30 21:00:00', '2022-06-30 
21:00:00');
+INSERT INTO "public"."plugin_handle" VALUES ('1529402613204172803', '10', 
'flowRuleMaxQueueingTimeMs', 'flowRuleMaxQueueingTimeMs', 1, 2, 6, 
'{"required":"0","defaultValue":"500"}', '2022-06-30 21:00:00', '2022-06-30 
21:00:00');
+INSERT INTO "public"."plugin_handle" VALUES ('1529402613204172804', '10', 
'flowRuleWarmUpPeriodSec', 'flowRuleWarmUpPeriodSec', 1, 2, 6, 
'{"required":"0","defaultValue":"10"}', '2022-06-30 21:00:00', '2022-06-30 
21:00:00');
+
 
 -- ----------------------------
 -- Table structure for resource
diff --git a/db/upgrade/2.5.0-upgrade-2.5.1-mysql.sql 
b/db/upgrade/2.5.0-upgrade-2.5.1-mysql.sql
index 76d6286a7..5cc96004f 100644
--- a/db/upgrade/2.5.0-upgrade-2.5.1-mysql.sql
+++ b/db/upgrade/2.5.0-upgrade-2.5.1-mysql.sql
@@ -83,3 +83,5 @@ INSERT INTO `plugin_handle` VALUES ('1529402613204172901', 
'33', 'passWord', 'pa
 /* fix issue #3945 */
 INSERT INTO `plugin_handle` VALUES ('1529402613204172742', '8', 'loadBalance', 
'loadStrategy', 3, 2, 3, '{\"defaultValue\":\"roundRobin\",\"rule\":\"\"}', 
'2022-05-25 18:02:53', '2022-05-25 18:02:53');
 
+INSERT INTO `plugin_handle` VALUES ('1529402613204172743', '10', 
'flowRuleEnable', 'flowRuleMaxQueueingTimeMs', 1, 2, 6, 
'{\"required\":\"0\",\"defaultValue\":\"500\"}', '2022-05-25 18:02:53', 
'2022-05-25 18:02:53');
+INSERT INTO `plugin_handle` VALUES ('1529402613204172744', '10', 
'flowRuleEnable', 'flowRuleWarmUpPeriodSec', 1, 2, 6, 
'{\"required\":\"0\",\"defaultValue\":\"10\"}', '2022-05-25 18:02:53', 
'2022-05-25 18:02:53');
diff --git a/db/upgrade/2.5.0-upgrade-2.5.1-oracle.sql 
b/db/upgrade/2.5.0-upgrade-2.5.1-oracle.sql
index 447bbbeaf..e4f68b35c 100644
--- a/db/upgrade/2.5.0-upgrade-2.5.1-oracle.sql
+++ b/db/upgrade/2.5.0-upgrade-2.5.1-oracle.sql
@@ -162,4 +162,11 @@ VALUES ('1529402613195784281', 'saslMechanism', 
'SASL_MECHANISM', 'SCRAM-SHA-512
 
 -- fix issue #3945
 insert /*+ IGNORE_ROW_ON_DUPKEY_INDEX(plugin_handle(plugin_id, field, type)) 
*/ into plugin_handle (ID, PLUGIN_ID, FIELD, LABEL, DATA_TYPE, TYPE, SORT, 
EXT_OBJ)
-values ('1518229897214468227', '8', 'loadBalance', 'loadStrategy', 3, 2, 3, 
'{"defaultValue":"roundRobin","rule":""}');
\ No newline at end of file
+values ('1518229897214468227', '8', 'loadBalance', 'loadStrategy', 3, 2, 3, 
'{"defaultValue":"roundRobin","rule":""}');
+
+insert /*+ IGNORE_ROW_ON_DUPKEY_INDEX(plugin_handle(plugin_id, field, type)) 
*/ into plugin_handle (ID, PLUGIN_ID, FIELD, LABEL, DATA_TYPE, TYPE, SORT, 
EXT_OBJ)
+values ('1518229897214468228', '10', 'flowRuleMaxQueueingTimeMs', 
'flowRuleMaxQueueingTimeMs', 1, 2, 8, '{"required":"0","defaultValue":"500"}');
+
+insert /*+ IGNORE_ROW_ON_DUPKEY_INDEX(plugin_handle(plugin_id, field, type)) 
*/ into plugin_handle (ID, PLUGIN_ID, FIELD, LABEL, DATA_TYPE, TYPE, SORT, 
EXT_OBJ)
+values ('1518229897214468229', '10', 'flowRuleWarmUpPeriodSec', 
'flowRuleWarmUpPeriodSec', 1, 2, 8, '{"required":"0","defaultValue":"10"}');
+
diff --git a/db/upgrade/2.5.0-upgrade-2.5.1-pg.sql 
b/db/upgrade/2.5.0-upgrade-2.5.1-pg.sql
index 6ff40d2f3..1bb20fbc7 100644
--- a/db/upgrade/2.5.0-upgrade-2.5.1-pg.sql
+++ b/db/upgrade/2.5.0-upgrade-2.5.1-pg.sql
@@ -85,3 +85,6 @@ INSERT INTO "public"."shenyu_dict" VALUES 
('1529402613195784281', 'saslMechanism
 /*fix issue #3945 */
 INSERT INTO "public"."plugin_handle" VALUES ('1529402613204172802', '8', 
'loadBalance', 'loadStrategy', 3, 2, 3, 
'{"defaultValue":"roundRobin","rule":""}', '2022-06-30 21:00:00', '2022-06-30 
21:00:00');
 
+INSERT INTO "public"."plugin_handle" VALUES ('1529402613204172803', '10', 
'flowRuleMaxQueueingTimeMs', 'flowRuleMaxQueueingTimeMs', 1, 2, 6, 
'{"required":"0","defaultValue":"500"}', '2022-06-30 21:00:00', '2022-06-30 
21:00:00');
+INSERT INTO "public"."plugin_handle" VALUES ('1529402613204172804', '10', 
'flowRuleWarmUpPeriodSec', 'flowRuleWarmUpPeriodSec', 1, 2, 6, 
'{"required":"0","defaultValue":"10"}', '2022-06-30 21:00:00', '2022-06-30 
21:00:00');
+
diff --git a/shenyu-admin/src/main/resources/sql-script/h2/schema.sql 
b/shenyu-admin/src/main/resources/sql-script/h2/schema.sql
index f28a368fa..09408666e 100755
--- a/shenyu-admin/src/main/resources/sql-script/h2/schema.sql
+++ b/shenyu-admin/src/main/resources/sql-script/h2/schema.sql
@@ -594,6 +594,8 @@ INSERT IGNORE INTO plugin_handle (`id`, 
`plugin_id`,`field`,`label`,`data_type`,
 INSERT IGNORE INTO plugin_handle (`id`, 
`plugin_id`,`field`,`label`,`data_type`,`type`,`sort`,`ext_obj`) VALUES 
('1529402613204172893', '33', 'saslMechanism', 'saslMechanism', 3, 3, 9, 
'{"required":"0","defaultValue":""}');
 INSERT IGNORE INTO plugin_handle (`id`, 
`plugin_id`,`field`,`label`,`data_type`,`type`,`sort`,`ext_obj`) VALUES 
('1529402613204172894', '33', 'userName', 'userName', 2, 3, 10, 
'{"required":"0","defaultValue":""}');
 INSERT IGNORE INTO plugin_handle (`id`, 
`plugin_id`,`field`,`label`,`data_type`,`type`,`sort`,`ext_obj`) VALUES 
('1529402613204172895', '33', 'passWord', 'passWord', 2, 3, 11, 
'{"required":"0","defaultValue":""}');
+INSERT IGNORE INTO plugin_handle (`id`, 
`plugin_id`,`field`,`label`,`data_type`,`type`,`sort`,`ext_obj`) VALUES 
('1529402613204172896', '10', 'flowRuleMaxQueueingTimeMs', 
'flowRuleMaxQueueingTimeMs', 1, 2, 6, '{"required":"0","defaultValue":"500"}');
+INSERT IGNORE INTO plugin_handle (`id`, 
`plugin_id`,`field`,`label`,`data_type`,`type`,`sort`,`ext_obj`) VALUES 
('1529402613204172897', '10', 'flowRuleWarmUpPeriodSec', 
'flowRuleWarmUpPeriodSec', 1, 2, 6, '{"required":"0","defaultValue":"10"}');
 
 
 
diff --git 
a/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/rule/SentinelHandle.java
 
b/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/rule/SentinelHandle.java
index e723c2ef5..0f0b74958 100644
--- 
a/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/rule/SentinelHandle.java
+++ 
b/shenyu-common/src/main/java/org/apache/shenyu/common/dto/convert/rule/SentinelHandle.java
@@ -36,6 +36,17 @@ public class SentinelHandle {
      */
     private Integer flowRuleGrade = Constants.SENTINEL_QPS_FLOW_GRADE;
 
+    /**
+     * Max queueing time in rate limiter behavior (ms).
+     */
+    private int flowRuleMaxQueueingTimeMs = 500;
+
+
+    /**
+     * The flow control warm-up time (s).
+     */
+    private int flowRuleWarmUpPeriodSec = 10;
+
     /**
      * Flow rule count.
      */
@@ -302,6 +313,42 @@ public class SentinelHandle {
         this.fallbackUri = fallbackUri;
     }
 
+    /**
+     * flowRuleMaxQueueingTimeMs.
+     *
+     * @return FlowRuleMaxQueueingTimeMs
+     */
+    public int getFlowRuleMaxQueueingTimeMs() {
+        return flowRuleMaxQueueingTimeMs;
+    }
+
+    /**
+     * set flowRuleMaxQueueingTimeMs.
+     *
+     * @param flowRuleMaxQueueingTimeMs flowRuleMaxQueueingTimeMs
+     */
+    public void setFlowRuleMaxQueueingTimeMs(final int 
flowRuleMaxQueueingTimeMs) {
+        this.flowRuleMaxQueueingTimeMs = flowRuleMaxQueueingTimeMs;
+    }
+
+    /**
+     * flowRuleWarmUpPeriodSec.
+     *
+     * @return FlowRuleWarmUpPeriodSec
+     */
+    public int getFlowRuleWarmUpPeriodSec() {
+        return flowRuleWarmUpPeriodSec;
+    }
+
+    /**
+     * set flowRuleWarmUpPeriodSec.
+     *
+     * @param flowRuleWarmUpPeriodSec flowRuleWarmUpPeriodSec
+     */
+    public void setFlowRuleWarmUpPeriodSec(final int flowRuleWarmUpPeriodSec) {
+        this.flowRuleWarmUpPeriodSec = flowRuleWarmUpPeriodSec;
+    }
+
     @Override
     public boolean equals(final Object o) {
         if (this == o) {
@@ -316,13 +363,15 @@ public class SentinelHandle {
                 && Objects.equals(flowRuleControlBehavior, 
that.flowRuleControlBehavior) && Objects.equals(degradeRuleEnable, 
that.degradeRuleEnable)
                 && Objects.equals(degradeRuleGrade, that.degradeRuleGrade) && 
Objects.equals(degradeRuleCount, that.degradeRuleCount)
                 && Objects.equals(degradeRuleTimeWindow, 
that.degradeRuleTimeWindow) && Objects.equals(degradeRuleMinRequestAmount, 
that.degradeRuleMinRequestAmount)
-                && Objects.equals(degradeRuleSlowRatioThreshold, 
that.degradeRuleSlowRatioThreshold) && Objects.equals(fallbackUri, 
that.fallbackUri);
+                && Objects.equals(degradeRuleSlowRatioThreshold, 
that.degradeRuleSlowRatioThreshold) && Objects.equals(fallbackUri, 
that.fallbackUri)
+                && Objects.equals(flowRuleMaxQueueingTimeMs, 
that.flowRuleMaxQueueingTimeMs) && Objects.equals(flowRuleWarmUpPeriodSec, 
that.flowRuleWarmUpPeriodSec);
     }
 
     @Override
     public int hashCode() {
         return Objects.hash(flowRuleEnable, flowRuleGrade, flowRuleCount, 
flowRuleControlBehavior, degradeRuleEnable, degradeRuleGrade,
-                degradeRuleCount, degradeRuleTimeWindow, 
degradeRuleMinRequestAmount, degradeRuleSlowRatioThreshold, 
degradeRuleStatIntervals, fallbackUri);
+                degradeRuleCount, degradeRuleTimeWindow, 
degradeRuleMinRequestAmount, degradeRuleSlowRatioThreshold, 
degradeRuleStatIntervals,
+                fallbackUri, flowRuleMaxQueueingTimeMs, 
flowRuleWarmUpPeriodSec);
     }
 
     @Override
@@ -352,6 +401,10 @@ public class SentinelHandle {
                 + degradeRuleStatIntervals
                 + ", fallbackUri='"
                 + fallbackUri
+                + ", flowRuleMaxQueueingTimeMs='"
+                + flowRuleMaxQueueingTimeMs
+                + ", flowRuleWarmUpPeriodSec='"
+                + flowRuleWarmUpPeriodSec
                 + '\''
                 + '}';
     }
diff --git 
a/shenyu-common/src/test/java/org/apache/shenyu/common/dto/convert/rule/SentinelHandleTest.java
 
b/shenyu-common/src/test/java/org/apache/shenyu/common/dto/convert/rule/SentinelHandleTest.java
index 08214df65..f1366c07e 100644
--- 
a/shenyu-common/src/test/java/org/apache/shenyu/common/dto/convert/rule/SentinelHandleTest.java
+++ 
b/shenyu-common/src/test/java/org/apache/shenyu/common/dto/convert/rule/SentinelHandleTest.java
@@ -46,7 +46,9 @@ public class SentinelHandleTest {
         handle.setDegradeRuleSlowRatioThreshold(Double.valueOf(10));
         handle.setDegradeRuleStatIntervals(100);
         handle.setFallbackUri("fallbackUri");
-        
+        handle.setFlowRuleMaxQueueingTimeMs(500);
+        handle.setFlowRuleWarmUpPeriodSec(10);
+
         assertThat(handle.getFlowRuleEnable(), is(0));
         assertThat(handle.getFlowRuleGrade(), is(2));
         assertThat(handle.getFlowRuleCount(), is(10));
@@ -59,6 +61,8 @@ public class SentinelHandleTest {
         assertThat(handle.getDegradeRuleSlowRatioThreshold(), closeTo(10, 
0.1));
         assertThat(handle.getDegradeRuleStatIntervals(), is(100));
         assertThat(handle.getFallbackUri(), is("fallbackUri"));
+        assertThat(handle.getFlowRuleMaxQueueingTimeMs(), is(500));
+        assertThat(handle.getFlowRuleWarmUpPeriodSec(), is(10));
     }
     
     @Test
diff --git 
a/shenyu-integrated-test/shenyu-integrated-test-http/src/test/java/org/apache/shenyu/integrated/test/http/combination/SentinelPluginTest.java
 
b/shenyu-integrated-test/shenyu-integrated-test-http/src/test/java/org/apache/shenyu/integrated/test/http/combination/SentinelPluginTest.java
index 7a0012aaf..ffe81bf29 100644
--- 
a/shenyu-integrated-test/shenyu-integrated-test-http/src/test/java/org/apache/shenyu/integrated/test/http/combination/SentinelPluginTest.java
+++ 
b/shenyu-integrated-test/shenyu-integrated-test-http/src/test/java/org/apache/shenyu/integrated/test/http/combination/SentinelPluginTest.java
@@ -17,17 +17,8 @@
 
 package org.apache.shenyu.integrated.test.http.combination;
 
-import static org.hamcrest.CoreMatchers.is;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.hamcrest.MatcherAssert.assertThat;
-
-import java.io.IOException;
-import java.lang.reflect.Type;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-
+import com.google.common.collect.Lists;
+import com.google.gson.reflect.TypeToken;
 import org.apache.shenyu.common.dto.ConditionData;
 import org.apache.shenyu.common.dto.convert.rule.SentinelHandle;
 import org.apache.shenyu.common.enums.OperatorEnum;
@@ -38,13 +29,21 @@ import 
org.apache.shenyu.integratedtest.common.AbstractPluginDataInit;
 import org.apache.shenyu.integratedtest.common.helper.HttpHelper;
 import org.apache.shenyu.integratedtest.common.result.ResultBean;
 import org.apache.shenyu.web.controller.LocalPluginController.RuleLocalData;
-
-import com.google.common.collect.Lists;
-import com.google.gson.reflect.TypeToken;
-import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
+import java.io.IOException;
+import java.lang.reflect.Type;
+import java.util.Collections;
+import java.util.List;
+import java.util.Map;
+
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+
 public final class SentinelPluginTest extends AbstractPluginDataInit {
 
     private static final String TEST_SENTINEL_PATH = 
"/http/test/sentinel/pass";
@@ -110,6 +109,8 @@ public final class SentinelPluginTest extends 
AbstractPluginDataInit {
         sentinelHandle.setDegradeRuleStatIntervals(1);
         sentinelHandle.setDegradeRuleSlowRatioThreshold(0.5d);
         sentinelHandle.setFallbackUri(fallbackUri);
+        sentinelHandle.setFlowRuleMaxQueueingTimeMs(500);
+        sentinelHandle.setFlowRuleWarmUpPeriodSec(10);
 
         ruleLocalData.setRuleHandler(JsonUtils.toJson(sentinelHandle));
         ConditionData conditionData = new ConditionData();
diff --git 
a/shenyu-plugin/shenyu-plugin-sentinel/src/main/java/org/apache/shenyu/plugin/sentinel/handler/SentinelRuleHandle.java
 
b/shenyu-plugin/shenyu-plugin-sentinel/src/main/java/org/apache/shenyu/plugin/sentinel/handler/SentinelRuleHandle.java
index 5bfbce4cb..3fbfbce3e 100644
--- 
a/shenyu-plugin/shenyu-plugin-sentinel/src/main/java/org/apache/shenyu/plugin/sentinel/handler/SentinelRuleHandle.java
+++ 
b/shenyu-plugin/shenyu-plugin-sentinel/src/main/java/org/apache/shenyu/plugin/sentinel/handler/SentinelRuleHandle.java
@@ -51,6 +51,8 @@ public class SentinelRuleHandle implements PluginDataHandler {
             rule.setCount(sentinelHandle.getFlowRuleCount());
             rule.setGrade(sentinelHandle.getFlowRuleGrade());
             
rule.setControlBehavior(sentinelHandle.getFlowRuleControlBehavior());
+            
rule.setMaxQueueingTimeMs(sentinelHandle.getFlowRuleMaxQueueingTimeMs());
+            
rule.setWarmUpPeriodSec(sentinelHandle.getFlowRuleWarmUpPeriodSec());
             flowRules.add(rule);
         }
         FlowRuleManager.loadRules(flowRules);

Reply via email to