This is an automated email from the ASF dual-hosted git repository.
zhouyao2023 pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/seatunnel.git
The following commit(s) were added to refs/heads/dev by this push:
new 6822b9c363 [Improve] Ignore useless wrong target slot error (#6135)
6822b9c363 is described below
commit 6822b9c363656d657e91c3547fe81ce4e236dca2
Author: Jia Fan <[email protected]>
AuthorDate: Tue Jan 9 19:28:27 2024 +0800
[Improve] Ignore useless wrong target slot error (#6135)
* [Improve] Ignore useless wrong target slot error
* update
* update
---
.../resourcemanager/opeartion/ReleaseSlotOperation.java | 12 +++++++++++-
.../engine/server/resourcemanager/ResourceManagerTest.java | 13 ++++---------
2 files changed, 15 insertions(+), 10 deletions(-)
diff --git
a/seatunnel-engine/seatunnel-engine-server/src/main/java/org/apache/seatunnel/engine/server/resourcemanager/opeartion/ReleaseSlotOperation.java
b/seatunnel-engine/seatunnel-engine-server/src/main/java/org/apache/seatunnel/engine/server/resourcemanager/opeartion/ReleaseSlotOperation.java
index 02843458cc..cca78a3fd5 100644
---
a/seatunnel-engine/seatunnel-engine-server/src/main/java/org/apache/seatunnel/engine/server/resourcemanager/opeartion/ReleaseSlotOperation.java
+++
b/seatunnel-engine/seatunnel-engine-server/src/main/java/org/apache/seatunnel/engine/server/resourcemanager/opeartion/ReleaseSlotOperation.java
@@ -20,14 +20,17 @@ package
org.apache.seatunnel.engine.server.resourcemanager.opeartion;
import org.apache.seatunnel.engine.server.SeaTunnelServer;
import org.apache.seatunnel.engine.server.resourcemanager.resource.SlotProfile;
import
org.apache.seatunnel.engine.server.serializable.ResourceDataSerializerHook;
+import
org.apache.seatunnel.engine.server.service.slot.WrongTargetSlotException;
import com.hazelcast.nio.ObjectDataInput;
import com.hazelcast.nio.ObjectDataOutput;
import com.hazelcast.nio.serialization.IdentifiedDataSerializable;
import com.hazelcast.spi.impl.operationservice.Operation;
+import lombok.extern.slf4j.Slf4j;
import java.io.IOException;
+@Slf4j
public class ReleaseSlotOperation extends Operation implements
IdentifiedDataSerializable {
private long jobID;
@@ -43,7 +46,14 @@ public class ReleaseSlotOperation extends Operation
implements IdentifiedDataSer
@Override
public void run() throws Exception {
SeaTunnelServer server = getService();
- server.getSlotService().releaseSlot(jobID, slotProfile);
+ try {
+ server.getSlotService().releaseSlot(jobID, slotProfile);
+ } catch (WrongTargetSlotException ignore) {
+ log.warn(
+ "wrong target release operation with job {} and slot
profile {}",
+ jobID,
+ slotProfile);
+ }
}
@Override
diff --git
a/seatunnel-engine/seatunnel-engine-server/src/test/java/org/apache/seatunnel/engine/server/resourcemanager/ResourceManagerTest.java
b/seatunnel-engine/seatunnel-engine-server/src/test/java/org/apache/seatunnel/engine/server/resourcemanager/ResourceManagerTest.java
index 0f8bd096a5..6dc246d8f4 100644
---
a/seatunnel-engine/seatunnel-engine-server/src/test/java/org/apache/seatunnel/engine/server/resourcemanager/ResourceManagerTest.java
+++
b/seatunnel-engine/seatunnel-engine-server/src/test/java/org/apache/seatunnel/engine/server/resourcemanager/ResourceManagerTest.java
@@ -63,16 +63,11 @@ public class ResourceManagerTest extends
AbstractSeaTunnelServerTest {
resourceProfiles.get(2).getHeapMemory().getBytes(),
slotProfiles.get(2).getResourceProfile().getHeapMemory().getBytes());
- Assertions.assertThrows(
- ExecutionException.class,
- () -> resourceManager.releaseResources(jobId + 1,
slotProfiles).get());
-
+ // release not existed job id
+ resourceManager.releaseResources(jobId + 1, slotProfiles).get();
+ resourceManager.releaseResources(jobId, slotProfiles).get();
+ // release already released resource
resourceManager.releaseResources(jobId, slotProfiles).get();
-
- Assertions.assertThrows(
- ExecutionException.class,
- () -> resourceManager.releaseResources(jobId,
slotProfiles).get());
-
Assertions.assertThrows(
ExecutionException.class,
() ->