alibaba / alibaba/Sentinel

[BUG] dashbord高并发下更新规则,可能会导致数据错乱

Open
#3,297 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
23.1k
Forks
8.1k
PR merge metrics
No merged PRs in 30d

Description

在sentinel dashbord【版本1.8.0】更新规则,会推送给 客户端 sentinel-transport ,在sentinel-transport 更新至内存时 发现高并发下更新会有安全问题(虽然,一般这不会出现高并发)
```
public class FlowRuleManager {
private static final class FlowPropertyListener implements PropertyListener> {
@Override
public void configUpdate(List value) {
Map> rules = FlowRuleUtil.buildFlowRuleMap(value);
if (rules != null) {
// 1
flowRules.clear();
// 2
flowRules.putAll(rules);
}

```
1 和 2这两步不是原子的,高并发调用下,可能会出现数据错乱问题

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.