MartijnVisser opened a new pull request, #28312:
URL: https://github.com/apache/flink/pull/28312

   ## What is the purpose of the change
   
   The JUnit5 migration (FLINK-39124, #27669) converted `IPv6HostnamesITCase` 
from a JUnit4 `@Rule MiniClusterWithClientResource(... 
.setConfiguration(getConfiguration()) ...)` to a static `@RegisterExtension 
MiniClusterExtension(...)` with a hardcoded configuration, dropping the call to 
`getConfiguration()`. That method (a) bound the cluster to a local IPv6 address 
and (b) skipped the test (via an IPv6 assumption) when no non-loopback IPv6 
address is available.
   
   After the migration `getConfiguration()` became dead code, so the test runs 
unconditionally and without IPv6 configuration, and fails under the 
AdaptiveScheduler because the job uses 
`GlobalWindows.createWithEndOfStreamTrigger()` -- a blocking (non-pipelined) 
data exchange the AdaptiveScheduler does not support. It has failed every 
nightly `test_cron_adaptive_scheduler` build on `master` since ~2026-04-15. 
`release-2.0`/`release-2.1` still call `getConfiguration()`, so they skip the 
test on CI agents without IPv6 and stay green.
   
   This restores the IPv6 configuration and the skip guard, and additionally 
tags the test so it is excluded from the adaptive profile even when an IPv6 
address is available.
   
   ## Brief change log
   
     - Resolve the IPv6 address once at class load (`IPV6_ADDRESS`).
     - Configure the `MiniClusterExtension` with the IPv6 address when present 
(restoring IPv6 binding).
     - Self-skip `testClusterWithIPv6host` via 
`assumeThat(IPV6_ADDRESS).isNotNull()` when no IPv6 address is available.
     - Tag the test with 
`@Tag("org.apache.flink.testutils.junit.FailsWithAdaptiveScheduler")`, since 
the blocking exchange is genuinely incompatible with the AdaptiveScheduler.
   
   ## Verifying this change
   
   This change is already covered by the existing 
`IPv6HostnamesITCase.testClusterWithIPv6host`. It was verified locally:
     - Under the default scheduler on a host with a non-loopback IPv6 address: 
`Tests run: 1, Failures: 0, Errors: 0` (the test again exercises IPv6 binding); 
on a host without IPv6 it self-skips.
     - Under `-Penable-adaptive-scheduler`: the test is excluded by the tag 
(`Tests run: 0`), so the adaptive nightly leg is green.
   
   ## Does this pull request potentially affect one of the following parts:
   
     - Dependencies (does it add or upgrade a dependency): no
     - The public API, i.e., is any changed class annotated with 
`@Public(Evolving)`: no
     - The serializers: no
     - The runtime per-record code paths (performance sensitive): no
     - Anything that affects deployment or recovery: JobManager (and its 
components), Checkpointing, Kubernetes/Yarn, ZooKeeper: no (test-only change)
     - The S3 file system connector: no
   
   ## Documentation
   
     - Does this pull request introduce a new feature? no
     - If yes, how is the feature documented? not applicable
   
   ---
   
   ##### Was generative AI tooling used to co-author this PR?
   
   - [X] Yes (Claude Code (Claude Opus 4.8))
   
   Generated-by: Claude Code (Claude Opus 4.8)
   


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