Skip to content

Commit fd2a57d

Browse files
authored
[Improve][Test] Fix test unstable on ResourceManger and EventReport module (#6620)
1 parent 93c6cac commit fd2a57d

File tree

4 files changed

+33
-58
lines changed

4 files changed

+33
-58
lines changed

Diff for: .github/workflows/backend.yml

+3-1
Original file line numberDiff line numberDiff line change
@@ -556,7 +556,7 @@ jobs:
556556
- name: run seatunnel zeta integration test
557557
if: needs.changes.outputs.api == 'true'
558558
run: |
559-
./mvnw -T 1 -B verify -DskipUT=true -DskipIT=false -D"license.skipAddThirdParty"=true --no-snapshot-updates -pl :connector-seatunnel-e2e-base -am -Pci
559+
./mvnw -T 1 -B verify -DskipUT=true -DskipIT=false -D"license.skipAddThirdParty"=true --no-snapshot-updates -pl :connector-seatunnel-e2e-base,:connector-console-seatunnel-e2e -am -Pci
560560
env:
561561
MAVEN_OPTS: -Xmx4096m
562562
engine-k8s-it:
@@ -578,6 +578,8 @@ jobs:
578578
env:
579579
KUBECONFIG: /etc/rancher/k3s/k3s.yaml
580580
- uses: actions/checkout@v2
581+
- name: free disk space
582+
run: tools/github/free_disk_space.sh
581583
- name: Set up JDK ${{ matrix.java }}
582584
uses: actions/setup-java@v3
583585
with:

Diff for: seatunnel-e2e/seatunnel-e2e-common/src/test/java/org/apache/seatunnel/e2e/common/container/seatunnel/SeaTunnelContainer.java

+2
Original file line numberDiff line numberDiff line change
@@ -248,6 +248,8 @@ private static boolean isSystemThread(String s) {
248248
|| s.startsWith("Timer-")
249249
|| s.contains("InterruptTimer")
250250
|| s.contains("Java2D Disposer")
251+
|| s.contains("OkHttp ConnectionPool")
252+
|| s.startsWith("http-report-event-scheduler")
251253
|| s.contains(
252254
"org.apache.hadoop.fs.FileSystem$Statistics$StatisticsDataReferenceCleaner")
253255
|| s.startsWith("Log4j2-TF-")

Diff for: seatunnel-engine/seatunnel-engine-server/src/test/java/org/apache/seatunnel/engine/server/resourcemanager/ResourceManagerFunctionTest.java

-56
This file was deleted.

Diff for: seatunnel-engine/seatunnel-engine-server/src/test/java/org/apache/seatunnel/engine/server/resourcemanager/ResourceManagerTest.java

+28-1
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,15 @@
2727
import org.junit.jupiter.api.BeforeAll;
2828
import org.junit.jupiter.api.Test;
2929

30+
import com.hazelcast.cluster.Address;
31+
3032
import java.util.ArrayList;
3133
import java.util.List;
34+
import java.util.Set;
3235
import java.util.concurrent.ExecutionException;
36+
import java.util.stream.Collectors;
3337

34-
public class ResourceManagerTest extends AbstractSeaTunnelServerTest {
38+
public class ResourceManagerTest extends AbstractSeaTunnelServerTest<ResourceManagerTest> {
3539

3640
private ResourceManager resourceManager;
3741

@@ -77,4 +81,27 @@ public void testApplyRequest() throws ExecutionException, InterruptedException {
7781
new ResourceProfile(CPU.of(0), Memory.of(Long.MAX_VALUE)))
7882
.get());
7983
}
84+
85+
@Test
86+
public void testApplyResourceWithRandomResult()
87+
throws ExecutionException, InterruptedException {
88+
FakeResourceManager resourceManager = new FakeResourceManager(nodeEngine);
89+
90+
List<ResourceProfile> resourceProfiles = new ArrayList<>();
91+
resourceProfiles.add(new ResourceProfile());
92+
resourceProfiles.add(new ResourceProfile());
93+
resourceProfiles.add(new ResourceProfile());
94+
resourceProfiles.add(new ResourceProfile());
95+
resourceProfiles.add(new ResourceProfile());
96+
List<SlotProfile> slotProfiles = resourceManager.applyResources(1L, resourceProfiles).get();
97+
Assertions.assertEquals(slotProfiles.size(), 5);
98+
99+
boolean hasDifferentWorker = false;
100+
for (int i = 0; i < 5; i++) {
101+
Set<Address> addresses =
102+
slotProfiles.stream().map(SlotProfile::getWorker).collect(Collectors.toSet());
103+
hasDifferentWorker = addresses.size() > 1;
104+
}
105+
Assertions.assertTrue(hasDifferentWorker, "should have different worker for each slot");
106+
}
80107
}

0 commit comments

Comments
 (0)