DanielLeens opened a new pull request, #13029:
URL: https://github.com/apache/seatunnel/pull/13029

   ### Purpose of this pull request
   
   Yes, I am contributing this test-fixture fix to Apache SeaTunnel.
   
   Prevent an Amazon SQS E2E fixture startup race that fails unrelated changes.
   
   The October 27 [JDK 17 Amazon SQS 
job](https://github.com/apache/seatunnel/actions/runs/40547910335/job/122376671688),
 on `403efeee0b3806c77e55c38368abdd41fbf828bd` (#12318, SQL numeric 
comparisons), failed in `AmazonsqsIT` setup before executing the connector:
   
   ```text
   sh: 1: /testcontainers_start.sh: Text file busy
   Wait strategy failed. Container exited with code 126
   ```
   
   The test uses Testcontainers 1.21.4. Its LocalStack entrypoint waits only 
for the injected script to exist, which does not establish that copying has 
finished. See the [versioned startup 
implementation](https://github.com/testcontainers/testcontainers-java/blob/1.21.4/modules/localstack/src/main/java/org/testcontainers/containers/localstack/LocalStackContainer.java#L113-L119).
 SeaTunnel adopted this path in #11201 (`60446da971`), which changed the 
module's LocalStack dependency from 1.19.0 to the shared 1.21.4; the previous 
implementation did not inject this script.
   
   In this fixture, publish a separate marker only after the superclass startup 
callback finishes copying the original script. The entrypoint waits for that 
marker before executing the original script. This preserves Testcontainers' 
initialization and cleanup labels and removes the copy/execute overlap without 
adding retries or increasing timeouts. The existing LocalStack readiness check 
remains responsible for service readiness.
   
   ### Does this PR introduce any user-facing change?
   
   No. Only the Amazon SQS test fixture changes. Production code, dependencies, 
connector registrations, job configuration, engine coverage and all existing 
assertions remain unchanged.
   
   ### How was this patch tested?
   
   - Source-reviewed the Testcontainers 1.21.4 callback, command-modifier and 
synchronous archive-copy ordering, including startup-failure cleanup. An 
independent automated reviewer checked the proposed ordering and scope.
   - Passed scoped `spotless:apply` and `spotless:check` with JDK 17, using 
`./mvnw -f 
seatunnel-e2e/seatunnel-connector-v2-e2e/connector-amazonsqs-e2e/pom.xml -nsu 
-Dmaven.gitcommitid.skip=true` followed by the corresponding Spotless goal. 
`git diff --check` also passed.
   - No local compilation, tests, Docker, services or UI were run. No existing 
build artifacts were reused. Exact-head GitHub CI must run the existing 
`amazonSqs-connector-it` JDK 11/17 jobs; runtime validation is pending.
   - The unchanged `testAmazonSqs` still requires successful job execution, 
exactly one sink message and an exact payload match. This patch changes fixture 
startup, not test expectations.
   
   ### Check list
   
   - [x] No production code, POM, dependency, configuration compatibility or 
connector registration changes.
   - [x] No tests disabled, assertions removed, or timeout/retry budgets 
increased.
   - [x] No new user-facing documentation or incompatible-change entry is 
needed.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to