Fix the bug of misplaced locks in ContextUtil and ClusterNode (#1429)
- which may lead to IllegalMonitorStateException in unlock() when unchecked error occurs during lock()
This commit is contained in:
parent
cfea7ae338
commit
04a1d065dd
|
|
@ -127,8 +127,8 @@ public class ContextUtil {
|
||||||
setNullContext();
|
setNullContext();
|
||||||
return NULL_CONTEXT;
|
return NULL_CONTEXT;
|
||||||
} else {
|
} else {
|
||||||
|
LOCK.lock();
|
||||||
try {
|
try {
|
||||||
LOCK.lock();
|
|
||||||
node = contextNameNodeMap.get(name);
|
node = contextNameNodeMap.get(name);
|
||||||
if (node == null) {
|
if (node == null) {
|
||||||
if (contextNameNodeMap.size() > Constants.MAX_CONTEXT_NAME_SIZE) {
|
if (contextNameNodeMap.size() > Constants.MAX_CONTEXT_NAME_SIZE) {
|
||||||
|
|
|
||||||
|
|
@ -101,8 +101,8 @@ public class ClusterNode extends StatisticNode {
|
||||||
public Node getOrCreateOriginNode(String origin) {
|
public Node getOrCreateOriginNode(String origin) {
|
||||||
StatisticNode statisticNode = originCountMap.get(origin);
|
StatisticNode statisticNode = originCountMap.get(origin);
|
||||||
if (statisticNode == null) {
|
if (statisticNode == null) {
|
||||||
|
lock.lock();
|
||||||
try {
|
try {
|
||||||
lock.lock();
|
|
||||||
statisticNode = originCountMap.get(origin);
|
statisticNode = originCountMap.get(origin);
|
||||||
if (statisticNode == null) {
|
if (statisticNode == null) {
|
||||||
// The node is absent, create a new node for the origin.
|
// The node is absent, create a new node for the origin.
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue