Martijn Visser created FLINK-39845:
--------------------------------------

             Summary: SavepointITCase.testStopWithSavepointFailsOverToSavepoint 
fails on AdaptiveScheduler after JUnit5 migration
                 Key: FLINK-39845
                 URL: https://issues.apache.org/jira/browse/FLINK-39845
             Project: Flink
          Issue Type: Bug
          Components: Tests
    Affects Versions: 2.3.0
            Reporter: Martijn Visser
            Assignee: Martijn Visser


SavepointITCase.testStopWithSavepointFailsOverToSavepoint fails 
deterministically in the test_cron_adaptive_scheduler tests leg on master only. 
It has been red every nightly since 2026-03-21, the first nightly after the 
JUnit5 migration FLINK-39124 rewrote this file. It passes under the default 
scheduler, and passes under the adaptive scheduler on release-2.0/2.1 
pre-migration assertion).

{code:java}
java.lang.AssertionError:
Expecting a throwable with cause being an instance of:
  
org.apache.flink.runtime.scheduler.stopwithsavepoint.StopWithSavepointStoppingException
but was an instance of:
  org.apache.flink.util.FlinkException
...
  at 
org.apache.flink.test.checkpointing.SavepointITCase.testStopWithSavepointFailsOverToSavepoint(SavepointITCase.java:324)
{code}

Root cause: the migration replaced a cause-chain search 
(ExceptionUtils.assertThrowable → findThrowable) with a direct-cause check 
(assertThatThrownBy(...).hasCauseInstanceOf(StopWithSavepointStoppingException.class)).
 Under the AdaptiveScheduler, StopWithSavepoint.onLeave() wraps the expected 
StopWithSavepointStoppingException inside a FlinkException ("Stop with 
savepoint operation could not be completed."), so it is no longer the direct 
cause. The runtime is unchanged (StopWithSavepoint.java is byte-identical).

Fix: restore the chain search via FlinkAssertions.anyCauseMatches, so the test 
passes under both schedulers.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to