He-Pin opened a new pull request, #2819:
URL: https://github.com/apache/pekko/pull/2819
## Motivation
`PersistentActorRecoveryTimeoutSpec` and
`EventSourcedBehaviorRecoveryTimeoutSpec` are flaky under CI load, particularly
on Scala 3.3.x. The `recovery-event-timeout` is set to `1s`, which is too tight
for CI environments under heavy load (cross-compilation overhead, parallel test
jobs).
## Modification
1. **Increased `recovery-event-timeout`** from `1s` to `3s` in both classic
and typed specs
2. **Added explicit `10.seconds` timeout** on
`expectMsgType[Failure]`/`expectMessageType[RecoveryTimedOut]` — necessary
because the default expect timeout (`3s` from `single-expect-default`) matches
the recovery timeout exactly, which would cause deterministic or
near-deterministic failures
## Result
- Both specs pass locally (classic: 2/2 tests, typed: 1/1 test)
- The first test ("fail recovery if timeout is not met") still works
correctly — it deliberately withholds journal tokens, so recovery will always
time out regardless of the 1s vs 3s setting
- The second test ("should not interfere with receive timeouts") gets
sufficient headroom to avoid spurious timeouts under CI load
## References
- Closes #2817
- Cross-reviewed by GPT-5.4, Claude Sonnet 4.6, and Claude Opus 4.6 — all
approved ✅
--
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]