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

   ### Purpose of this pull request
   
   Test-fixture follow-up to #11755 and #12238.
   
   `TaskExecutionServiceTest` shares a task execution service across test 
methods, but several deployments and stale-generation fixtures reuse execution 
IDs `1` and `2`. `TaskGroupContext` equality is based on execution ID, matching 
production's assumption that execution IDs are unique. A delayed completion 
from an earlier fixture can therefore remove a later fixture's timer entry even 
when their task-group locations differ.
   
   This was observed in the Java 11 unit job for #12194 as a failure in 
`testStaleTaskDoneCleansOnlyOwnedGenerationResources`:
   
https://github.com/goutamadwant/seatunnel/actions/runs/34918537638/job/104632050001
   
   This PR:
   
   - Uses the existing `FLAKE_ID_GENERATOR` for the four shared-service 
deployments and both stale-generation context pairs.
   - Extends the existing regression with an explicitly completed historical 
ID-1 tracker after the later fixture's timers have been registered.
   - Asserts that historical cleanup cannot cancel the later fixture's timer, 
then retains the assertions that the old generation cancels its own resources 
while the replacement generation stays intact.
   - Leaves intentional constant IDs in the isolated equality test unchanged.
   
   No production behavior, timeout, retry, or assertion is weakened. This fixes 
the demonstrated fixture-identity collision; it does not claim to resolve every 
engine or connector CI failure.
   
   ### Does this PR introduce _any_ user-facing change?
   
   No. Only `TaskExecutionServiceTest` changes. Runtime cleanup, checkpointing, 
deployment, and serialization remain unchanged.
   
   ### How was this patch tested?
   
   - Negative control: with the original reused fixture IDs, completing the 
historical tracker deterministically causes an unexpected timer cancellation 
and fails the regression.
   - After the fix, all 18 `TaskExecutionServiceTest` tests passed locally on 
Java 8 and Java 11.
   - Spotless and scoped engine-server module verification passed.
   - The current branch's fork CI unit-test matrix passed on Java 8/11 and 
Ubuntu/Windows. The aggregate run remains red in separate integration jobs; 
this is not a claim of full CI success.
   
   Focused command, with the repository dependencies built:
   
   ```shell
   ./mvnw -B -pl seatunnel-engine/seatunnel-engine-server 
-Dtest=TaskExecutionServiceTest test
   ```
   
   Fork CI: https://github.com/goutamadwant/seatunnel/actions/runs/35172968896
   
   ### Check list
   
   The conditional items below are not applicable: this is a test-only engine 
fixture correction, with no new dependencies, user-facing feature, 
compatibility change, or connector registration.
   
   * [ ] If any new Jar binary package adding in your PR, please add License 
Notice according [New License 
Guide](https://github.com/apache/seatunnel/blob/dev/docs/en/developer/new-license.md)
   * [ ] If necessary, please update the documentation to describe the new 
feature. https://github.com/apache/seatunnel/tree/dev/docs
   * [ ] If necessary, please update `incompatible-changes.md` to describe the 
incompatibility caused by this PR.
   * [ ] If you are contributing the connector code, please check that the 
following files are updated:
     1. Update 
[plugin-mapping.properties](https://github.com/apache/seatunnel/blob/dev/plugin-mapping.properties)
 and add new connector information in it
     2. Update the pom file of 
[seatunnel-dist](https://github.com/apache/seatunnel/blob/dev/seatunnel-dist/pom.xml)
     3. Add ci label in 
[label-scope-conf](https://github.com/apache/seatunnel/blob/dev/.github/workflows/labeler/label-scope-conf.yml)
     4. Add e2e testcase in 
[seatunnel-e2e](https://github.com/apache/seatunnel/tree/dev/seatunnel-e2e/seatunnel-connector-v2-e2e/)
     5. Update connector 
[plugin_config](https://github.com/apache/seatunnel/blob/dev/config/plugin_config)
   


-- 
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