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

davidzollo 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 f367a8c87f [Test][E2E] Give the E2E Flink TaskManager enough metaspace 
and heartbeat slack (#11645)
f367a8c87f is described below

commit f367a8c87f910b236803761ed2cbe779647d7846
Author: Daniel <[email protected]>
AuthorDate: Mon Aug 10 04:06:22 2026 +0800

    [Test][E2E] Give the E2E Flink TaskManager enough metaspace and heartbeat 
slack (#11645)
    
    Co-authored-by: DanielLeens <[email protected]>
---
 .../container/flink/AbstractTestFlinkContainer.java    | 15 +++++++++++++++
 .../e2e/common/container/flink/Flink20Container.java   | 18 +++++++++++++++++-
 2 files changed, 32 insertions(+), 1 deletion(-)

diff --git 
a/seatunnel-e2e/seatunnel-e2e-common/src/test/java/org/apache/seatunnel/e2e/common/container/flink/AbstractTestFlinkContainer.java
 
b/seatunnel-e2e/seatunnel-e2e-common/src/test/java/org/apache/seatunnel/e2e/common/container/flink/AbstractTestFlinkContainer.java
index 1e872040ad..980b502685 100644
--- 
a/seatunnel-e2e/seatunnel-e2e-common/src/test/java/org/apache/seatunnel/e2e/common/container/flink/AbstractTestFlinkContainer.java
+++ 
b/seatunnel-e2e/seatunnel-e2e-common/src/test/java/org/apache/seatunnel/e2e/common/container/flink/AbstractTestFlinkContainer.java
@@ -59,6 +59,21 @@ public abstract class AbstractTestFlinkContainer extends 
AbstractTestContainer {
                     "taskmanager.numberOfTaskSlots: 10",
                     "parallelism.default: 4",
                     "env.java.opts: -Doracle.jdbc.timezoneAsRegion=false",
+                    // One TaskManager serves every job of a test class, and 
each SeaTunnel job
+                    // loads its connector jars through a fresh user-code 
ClassLoader. With the
+                    // Flink default of 256mb the metaspace is exhausted 
part-way through a long
+                    // class ("OutOfMemoryError: Metaspace"), which kills the 
TaskManager and fails
+                    // whichever job happens to be running. Raise the process 
budget alongside it so
+                    // the extra metaspace is not taken out of the derived 
heap/network/managed
+                    // pools.
+                    "taskmanager.memory.process.size: 2048m",
+                    "taskmanager.memory.jvm-metaspace.size: 512m",
+                    // CI runners host several containers at once, so a 
TaskManager can be starved
+                    // of CPU for longer than the 50s Flink default before it 
answers a heartbeat.
+                    // A missed heartbeat fails the job outright, because 
SeaTunnel jobs run with
+                    // NoRestartBackoffTimeStrategy unless the job config asks 
for restarts.
+                    "heartbeat.timeout: 120000",
+                    "heartbeat.interval: 10000",
                     // limit restart attempts in e2e to avoid infinite retries
                     "restart-strategy: fixed-delay",
                     "restart-strategy.fixed-delay.attempts: 2",
diff --git 
a/seatunnel-e2e/seatunnel-e2e-common/src/test/java/org/apache/seatunnel/e2e/common/container/flink/Flink20Container.java
 
b/seatunnel-e2e/seatunnel-e2e-common/src/test/java/org/apache/seatunnel/e2e/common/container/flink/Flink20Container.java
index 544dd9c905..96e4030858 100644
--- 
a/seatunnel-e2e/seatunnel-e2e-common/src/test/java/org/apache/seatunnel/e2e/common/container/flink/Flink20Container.java
+++ 
b/seatunnel-e2e/seatunnel-e2e-common/src/test/java/org/apache/seatunnel/e2e/common/container/flink/Flink20Container.java
@@ -88,8 +88,24 @@ public class Flink20Container extends 
AbstractTestFlinkContainer {
                         "",
                         "# Memory Configuration",
                         "jobmanager.memory.process.size: 1600m",
-                        "taskmanager.memory.process.size: 1728m",
+                        // One TaskManager serves every job of a test class, 
and each SeaTunnel job
+                        // loads its connector jars through a fresh user-code 
ClassLoader. The
+                        // implied 256m metaspace was exhausted part-way 
through long classes
+                        // ("OutOfMemoryError: Metaspace"), killing the 
TaskManager. The process
+                        // budget grows by the same amount the metaspace does, 
so the derived Flink
+                        // memory stays at 1280m and the heap/network/managed 
pools are unchanged.
+                        "taskmanager.memory.process.size: 2048m",
                         "taskmanager.memory.flink.size: 1280m",
+                        "taskmanager.memory.jvm-metaspace.size: 512m",
+                        "",
+                        "# Heartbeat Configuration",
+                        // CI runners host several containers at once, so a 
TaskManager can be
+                        // starved of CPU for longer than the 50s Flink 
default before it answers a
+                        // heartbeat. A missed heartbeat fails the job 
outright, because SeaTunnel
+                        // jobs run with NoRestartBackoffTimeStrategy unless 
the job config asks for
+                        // restarts.
+                        "heartbeat.timeout: 120000",
+                        "heartbeat.interval: 10000",
                         "",
                         "# Network Buffer Configuration - Fix for insufficient 
network buffers",
                         "taskmanager.memory.network.fraction: 0.2",

Reply via email to