nacos icon indicating copy to clipboard operation
nacos copied to clipboard

`NacosConnectionControlManager` 的 `check`方法中,并没有对`totalCountLimit == -1`这种特殊情况做不限制连接处理。

Open Happy-26 opened this issue 1 year ago • 0 comments

NacosConnectionControlManagercheck方法中,并没有对totalCountLimit == -1这种特殊情况做不限制连接处理。

@Override
public ConnectionCheckResponse check(ConnectionCheckRequest connectionCheckRequest) {
    ConnectionCheckResponse connectionCheckResponse = new ConnectionCheckResponse();
    connectionCheckResponse.setSuccess(true);
    connectionCheckResponse.setCode(ConnectionCheckCode.PASS_BY_TOTAL);
    int totalCountLimit = connectionControlRule.getCountLimit();
    // Get total connection from metrics
    Map<String, Integer> metricsTotalCount = metricsCollectorList.stream().collect(
            Collectors.toMap(ConnectionMetricsCollector::getName, ConnectionMetricsCollector::getTotalCount));
    int totalCount = metricsTotalCount.values().stream().mapToInt(Integer::intValue).sum();
    if (totalCount >= totalCountLimit) {
        connectionCheckResponse.setSuccess(false);
        connectionCheckResponse.setCode(ConnectionCheckCode.DENY_BY_TOTAL_OVER);
    }
    return connectionCheckResponse;
}

Happy-26 avatar May 09 '24 01:05 Happy-26