This is an automated email from the ASF dual-hosted git repository.

gaojun2048 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 fd2a57d82a [Improve][Test] Fix test unstable on `ResourceManger` and 
`EventReport` module (#6620)
fd2a57d82a is described below

commit fd2a57d82ab9be835ff589d3ab3cbca9aecaf7af
Author: Jia Fan <[email protected]>
AuthorDate: Mon Apr 1 10:38:43 2024 +0800

    [Improve][Test] Fix test unstable on `ResourceManger` and `EventReport` 
module (#6620)
---
 .github/workflows/backend.yml                      |  4 +-
 .../container/seatunnel/SeaTunnelContainer.java    |  2 +
 .../ResourceManagerFunctionTest.java               | 56 ----------------------
 .../resourcemanager/ResourceManagerTest.java       | 29 ++++++++++-
 4 files changed, 33 insertions(+), 58 deletions(-)

diff --git a/.github/workflows/backend.yml b/.github/workflows/backend.yml
index e63a5ac51e..519cf8533d 100644
--- a/.github/workflows/backend.yml
+++ b/.github/workflows/backend.yml
@@ -556,7 +556,7 @@ jobs:
       - name: run seatunnel zeta integration test
         if: needs.changes.outputs.api == 'true'
         run: |
-          ./mvnw -T 1 -B verify -DskipUT=true -DskipIT=false 
-D"license.skipAddThirdParty"=true --no-snapshot-updates -pl 
:connector-seatunnel-e2e-base -am -Pci
+          ./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
         env:
           MAVEN_OPTS: -Xmx4096m
   engine-k8s-it:
@@ -578,6 +578,8 @@ jobs:
         env:
           KUBECONFIG: /etc/rancher/k3s/k3s.yaml
       - uses: actions/checkout@v2
+      - name: free disk space
+        run: tools/github/free_disk_space.sh
       - name: Set up JDK ${{ matrix.java }}
         uses: actions/setup-java@v3
         with:
diff --git 
a/seatunnel-e2e/seatunnel-e2e-common/src/test/java/org/apache/seatunnel/e2e/common/container/seatunnel/SeaTunnelContainer.java
 
b/seatunnel-e2e/seatunnel-e2e-common/src/test/java/org/apache/seatunnel/e2e/common/container/seatunnel/SeaTunnelContainer.java
index aa4d62024f..ef83f83257 100644
--- 
a/seatunnel-e2e/seatunnel-e2e-common/src/test/java/org/apache/seatunnel/e2e/common/container/seatunnel/SeaTunnelContainer.java
+++ 
b/seatunnel-e2e/seatunnel-e2e-common/src/test/java/org/apache/seatunnel/e2e/common/container/seatunnel/SeaTunnelContainer.java
@@ -248,6 +248,8 @@ public class SeaTunnelContainer extends 
AbstractTestContainer {
                 || s.startsWith("Timer-")
                 || s.contains("InterruptTimer")
                 || s.contains("Java2D Disposer")
+                || s.contains("OkHttp ConnectionPool")
+                || s.startsWith("http-report-event-scheduler")
                 || s.contains(
                         
"org.apache.hadoop.fs.FileSystem$Statistics$StatisticsDataReferenceCleaner")
                 || s.startsWith("Log4j2-TF-")
diff --git 
a/seatunnel-engine/seatunnel-engine-server/src/test/java/org/apache/seatunnel/engine/server/resourcemanager/ResourceManagerFunctionTest.java
 
b/seatunnel-engine/seatunnel-engine-server/src/test/java/org/apache/seatunnel/engine/server/resourcemanager/ResourceManagerFunctionTest.java
deleted file mode 100644
index acb4237f07..0000000000
--- 
a/seatunnel-engine/seatunnel-engine-server/src/test/java/org/apache/seatunnel/engine/server/resourcemanager/ResourceManagerFunctionTest.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.seatunnel.engine.server.resourcemanager;
-
-import org.apache.seatunnel.engine.server.AbstractSeaTunnelServerTest;
-import 
org.apache.seatunnel.engine.server.resourcemanager.resource.ResourceProfile;
-import org.apache.seatunnel.engine.server.resourcemanager.resource.SlotProfile;
-
-import org.junit.jupiter.api.Assertions;
-import org.junit.jupiter.api.Test;
-
-import com.hazelcast.cluster.Address;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Set;
-import java.util.concurrent.ExecutionException;
-import java.util.stream.Collectors;
-
-public class ResourceManagerFunctionTest
-        extends AbstractSeaTunnelServerTest<ResourceManagerFunctionTest> {
-
-    @Test
-    public void testApplyResourceWithRandomResult()
-            throws ExecutionException, InterruptedException {
-        FakeResourceManager resourceManager = new 
FakeResourceManager(nodeEngine);
-
-        List<ResourceProfile> resourceProfiles = new ArrayList<>();
-        resourceProfiles.add(new ResourceProfile());
-        resourceProfiles.add(new ResourceProfile());
-        resourceProfiles.add(new ResourceProfile());
-        resourceProfiles.add(new ResourceProfile());
-        resourceProfiles.add(new ResourceProfile());
-        List<SlotProfile> slotProfiles = resourceManager.applyResources(1L, 
resourceProfiles).get();
-        Assertions.assertEquals(slotProfiles.size(), 5);
-
-        Set<Address> addresses =
-                
slotProfiles.stream().map(SlotProfile::getWorker).collect(Collectors.toSet());
-        Assertions.assertTrue(addresses.size() > 1);
-    }
-}
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 6dc246d8f4..9244283889 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
@@ -27,11 +27,15 @@ import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
 
+import com.hazelcast.cluster.Address;
+
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Set;
 import java.util.concurrent.ExecutionException;
+import java.util.stream.Collectors;
 
-public class ResourceManagerTest extends AbstractSeaTunnelServerTest {
+public class ResourceManagerTest extends 
AbstractSeaTunnelServerTest<ResourceManagerTest> {
 
     private ResourceManager resourceManager;
 
@@ -77,4 +81,27 @@ public class ResourceManagerTest extends 
AbstractSeaTunnelServerTest {
                                         new ResourceProfile(CPU.of(0), 
Memory.of(Long.MAX_VALUE)))
                                 .get());
     }
+
+    @Test
+    public void testApplyResourceWithRandomResult()
+            throws ExecutionException, InterruptedException {
+        FakeResourceManager resourceManager = new 
FakeResourceManager(nodeEngine);
+
+        List<ResourceProfile> resourceProfiles = new ArrayList<>();
+        resourceProfiles.add(new ResourceProfile());
+        resourceProfiles.add(new ResourceProfile());
+        resourceProfiles.add(new ResourceProfile());
+        resourceProfiles.add(new ResourceProfile());
+        resourceProfiles.add(new ResourceProfile());
+        List<SlotProfile> slotProfiles = resourceManager.applyResources(1L, 
resourceProfiles).get();
+        Assertions.assertEquals(slotProfiles.size(), 5);
+
+        boolean hasDifferentWorker = false;
+        for (int i = 0; i < 5; i++) {
+            Set<Address> addresses =
+                    
slotProfiles.stream().map(SlotProfile::getWorker).collect(Collectors.toSet());
+            hasDifferentWorker = addresses.size() > 1;
+        }
+        Assertions.assertTrue(hasDifferentWorker, "should have different 
worker for each slot");
+    }
 }

Reply via email to