Skip to content

sentinel-dashboard-1.8版本网关控制台修改流控规则失败 #1809

@yuehuaxingguang

Description

@yuehuaxingguang

环境:

<java.version>1.8</java.version>
<springboot.version>2.1.1.RELEASE</springboot.version>
<springcloud.version>Greenwich.RELEASE</springcloud.version>

pom:

<dependency>
            <groupId>com.alibaba.csp</groupId>
            <artifactId>sentinel-spring-cloud-gateway-adapter</artifactId>
            <version>1.8.0</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba.csp</groupId>
            <artifactId>sentinel-transport-simple-http</artifactId>
            <version>1.8.0</version>
        </dependency>

gateway启动参数:
java -Dspring.profiles.active=local -Dcsp.sentinel.app.type=1 -Dcsp.sentinel.dashboard.server=localhost:8098 -Dproject.name=zjyz-gateway -Dcsp.sentinel.heartbeat.client.ip=192.168.8.42
-jar zjyz-gateway.jar

现象:
修改网关流控规则失败

网关报错信息:

java.lang.NullPointerException
	at com.alibaba.csp.sentinel.adapter.gateway.common.rule.GatewayRuleManager$GatewayRulePropertyListener.applyToConvertedParamMap(GatewayRuleManager.java:230)
	at com.alibaba.csp.sentinel.adapter.gateway.common.rule.GatewayRuleManager$GatewayRulePropertyListener.applyGatewayRuleInternal(GatewayRuleManager.java:200)
	at com.alibaba.csp.sentinel.adapter.gateway.common.rule.GatewayRuleManager$GatewayRulePropertyListener.configUpdate(GatewayRuleManager.java:118)
	at com.alibaba.csp.sentinel.adapter.gateway.common.rule.GatewayRuleManager$GatewayRulePropertyListener.configUpdate(GatewayRuleManager.java:114)
	at com.alibaba.csp.sentinel.property.DynamicSentinelProperty.updateValue(DynamicSentinelProperty.java:57)
	at com.alibaba.csp.sentinel.adapter.gateway.common.rule.GatewayRuleManager.loadRules(GatewayRuleManager.java:78)
	at com.alibaba.csp.sentinel.adapter.gateway.common.command.UpdateGatewayRuleCommandHandler.handle(UpdateGatewayRuleCommandHandler.java:59)
	at com.alibaba.csp.sentinel.transport.command.http.HttpEventTask.run(HttpEventTask.java:103)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266)
	at java.util.concurrent.FutureTask.run(FutureTask.java)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)

通过代码跟踪发现ParameterMetricStorage中的metricsMap为空:
QQ截图20201021205146

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions