He-Pin opened a new pull request, #3668: URL: https://github.com/apache/pekko/pull/3668
### Motivation Fresh `PekkoForkJoinTask` wrappers inherit `Object.hashCode()`, so wrapping the same Runnable does not preserve its hash code. ### Modification Delegate `hashCode()` to the wrapped Runnable with a `final override`, and document that stability depends on the Runnable's hash code. Add regression coverage for integer boundary values and independent task identity, completion, and cancellation. ### Result Fresh wrappers retain the Runnable's hash code while keeping separate fork-join task state. ### Tests - Before the fix, the two new regressions failed and the four existing tests passed. - `sbt "+actor-tests / Test / testOnly org.apache.pekko.dispatch.MailboxTaskSubmissionSpec"`: all 6 tests passed on Scala 2.13.18 and 3.3.8 with JDK 17. - The same 6 tests passed on Scala 2.13.18 with JDK 25.0.2. - Related Mailbox, Dispatcher, and ForkJoin suites: 73 tests passed, with 2 existing JDK-dependent pending tests. - Native scalafmt, `headerCreateAll`, `checkCodeStyle` (including `+headerCheckAll`), and `git diff --check`: passed. - `sbt +mimaReportBinaryIssues`: passed on Scala 2.13.18 and 3.3.8. - `sbt sortImports`: failed in the existing SortImports rule with `NoSuchMethodError: scala.meta.package$.Input()`. Unrelated generated changes were discarded; the changed files pass native scalafmt and the full style check. - `sbt -Dpekko.test.multi-in-test=false validatePullRequest`: stopped after a `TcpConnectionSpec` receive timeout during the broad run. An isolated rerun passed all 35 tests, with 1 existing ignored and 1 existing pending test; no code or timeout changes were made. - Auditable Qoder stdout review and follow-up: No must-fix findings. ### References Refs #3621, Refs #3628. -- 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]
