Skip to content

Commit c7745e6

Browse files
authored
[Bug][Zeta] Fix TaskExecutionService synchronized lock will not release (apache#4886)
1 parent 5e03d22 commit c7745e6

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

seatunnel-engine/seatunnel-engine-server/src/main/java/org/apache/seatunnel/engine/server/TaskExecutionService.java

+6-2
Original file line numberDiff line numberDiff line change
@@ -507,7 +507,7 @@ public void provideDynamicMetrics(
507507
}
508508
}
509509

510-
private synchronized void updateMetricsContextInImap() {
510+
private void updateMetricsContextInImap() {
511511
if (!nodeEngine.getNode().getState().equals(NodeState.ACTIVE)) {
512512
logger.warning(
513513
String.format(
@@ -542,7 +542,11 @@ private synchronized void updateMetricsContextInImap() {
542542
});
543543
if (localMap.size() > 0) {
544544
try {
545-
metricsImap.lock(Constant.IMAP_RUNNING_JOB_METRICS_KEY);
545+
if (!metricsImap.tryLock(
546+
Constant.IMAP_RUNNING_JOB_METRICS_KEY, 2, TimeUnit.SECONDS)) {
547+
logger.info("try lock failed in update metrics");
548+
return;
549+
}
546550
HashMap<TaskLocation, SeaTunnelMetricsContext> centralMap =
547551
metricsImap.computeIfAbsent(
548552
Constant.IMAP_RUNNING_JOB_METRICS_KEY, k -> new HashMap<>());

0 commit comments

Comments
 (0)