Переглянути джерело

Fix the bug of misplaced locks in ContextUtil and ClusterNode (#1429)

- which may lead to IllegalMonitorStateException in unlock() when unchecked error occurs during lock()
master
haifeng GitHub 4 роки тому
джерело
коміт
04a1d065dd
Не вдалося знайти GPG ключ що відповідає даному підпису Ідентифікатор GPG ключа: 4AEE18F83AFDEB23
2 змінених файлів з 2 додано та 2 видалено
  1. +1
    -1
      sentinel-core/src/main/java/com/alibaba/csp/sentinel/context/ContextUtil.java
  2. +1
    -1
      sentinel-core/src/main/java/com/alibaba/csp/sentinel/node/ClusterNode.java

+ 1
- 1
sentinel-core/src/main/java/com/alibaba/csp/sentinel/context/ContextUtil.java Переглянути файл

@@ -127,8 +127,8 @@ public class ContextUtil {
setNullContext();
return NULL_CONTEXT;
} else {
LOCK.lock();
try {
LOCK.lock();
node = contextNameNodeMap.get(name);
if (node == null) {
if (contextNameNodeMap.size() > Constants.MAX_CONTEXT_NAME_SIZE) {


+ 1
- 1
sentinel-core/src/main/java/com/alibaba/csp/sentinel/node/ClusterNode.java Переглянути файл

@@ -101,8 +101,8 @@ public class ClusterNode extends StatisticNode {
public Node getOrCreateOriginNode(String origin) {
StatisticNode statisticNode = originCountMap.get(origin);
if (statisticNode == null) {
lock.lock();
try {
lock.lock();
statisticNode = originCountMap.get(origin);
if (statisticNode == null) {
// The node is absent, create a new node for the origin.


Завантаження…
Відмінити
Зберегти