test: ignore late identities while awaiting rotating-keys ping - #3001
Merged
He-Pin merged 1 commit intoMay 29, 2026
Conversation
Motivation: RotatingKeysSSLEngineProviderSpec can receive a delayed ActorIdentity from an earlier Identify attempt after the target actor ref has already been resolved. Nightly retry policy still fails builds when that stale identity arrives before the ping reply. Modification: Wait for the expected ping with fishForMessage and ignore late ActorIdentity messages while keeping the same per-attempt timeout budget. Result: The test accepts the intended ping reply without being failed by harmless delayed Identify responses. Tests: - JDK 21: remote / Test / testOnly org.apache.pekko.remote.artery.tcp.ssl.RotatingProviderWithChangingKeysSpec - JDK 25: remote / Test / testOnly org.apache.pekko.remote.artery.tcp.ssl.RotatingProviderWithChangingKeysSpec (fails on existing JDK 25 EKU certificate validation behavior) - scalafmt --mode diff-ref=origin/main --quiet - scalafmt --list --mode diff-ref=origin/main - git diff --check References: Refs apache#2994
132982jianan
pushed a commit
to 132982jianan/pekko
that referenced
this pull request
Aug 2, 2026
动机: 在目标 actor 引用已经解析之后,RotatingKeysSSLEngineProviderSpec 可以从之前的识别尝试中接收延迟的 ActorIdentity。当过时的身份在 ping 回复之前到达时,夜间重试策略仍然会失败。 修改: 使用 FishForMessage 等待预期的 ping,并忽略迟到的 ActorIdentity 消息,同时保持相同的每次尝试超时预算。 结果: 该测试接受预期的 ping 回复,而不会因无害的延迟识别响应而失败。 测试: - JDK 21:远程/测试/testOnly org.apache.pekko.remote.artery.tcp.ssl.RotatingProviderWithChangingKeysSpec - JDK 25:remote / Test / testOnly org.apache.pekko.remote.artery.tcp.ssl.RotatingProviderWithChangingKeysSpec(现有 JDK 25 EKU 证书验证行为失败) - scalafmt --mode diff-ref=origin/main --quiet - scalafmt --list --mode diff-ref=origin/main - git diff --检查 参考文献: 参考号apache#2994
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
RotatingKeysSSLEngineProviderSpec can receive a delayed ActorIdentity from an earlier Identify attempt after the target actor ref has already been resolved. Nightly retry policy still fails builds when that stale identity arrives before the ping reply.
Modification
Wait for the expected ping with fishForMessage and ignore late ActorIdentity messages while keeping the same per-attempt timeout budget.
Result
The test accepts the intended ping reply without being failed by harmless delayed Identify responses.
Tests
References
Refs #2994