He-Pin commented on PR #3727: URL: https://github.com/apache/pekko/pull/3727#issuecomment-6492011526
### Motivation This corrects [the 2026-10-28 23:35:00Z comment](https://github.com/apache/pekko/pull/3727#issuecomment-6483523839), including its reference to `31f6681c00`. ### Modification The rechecked PR code revision is `205155160a`, superseding `31f6681c00`. The PR does not modify or restore `TcpSpec.scala`; its original four-argument call, closing policy, and `hello` assertion remain unchanged. Repeated tests also show that the echo failure is not evidence that the final byte was already accepted when cancellation was observed. Every failing diagnostic run on both main and this head logged `h/e/l/l`, then plaintext-output cancellation, then a late `onPush(o)`. The PR description's claim that only `h/e/l/l` was accepted must therefore be limited to **before cancellation**. ### Result The accepted-plaintext drain fix remains valuable, but this PR does not fix the intermittent original TcpSpec failure. Track that cancellation-versus-delivery race separately in #3729; the precise scheduling boundary responsible for the ordering remains unlocalized. The peer-completion claim is also limited to cancellation being observed first. Peer transport-input completion observed first retains the existing discard contract, matching the legacy actor engine. ### Tests - OpenJDK 25.0.2, macOS arm64, Scala 2.13.18, original TLS 1.3 case, fresh JVM per repetition using sbt-exported classpath/options; forked-JVM engine selection was confirmed. - Without diagnostic logging: main `a55a008fdf` had 0/20 legacy failures and 8/20 GraphStage failures; PR `205155160a` had 0/20 legacy failures and 13/20 GraphStage failures. All failures returned `hell` instead of `hello`. - With local-only diagnostics: main had 0/20 legacy failures and 11/20 GraphStage failures; PR had 0/20 legacy failures and 12/20 GraphStage failures. Every failing GraphStage trace had `hell` before cancellation and `o` afterwards; legacy receipt/chop traces were `hello`. - Counts are observations under variable workstation load, not a comparison of failure probabilities. Diagnostics were removed. ### References Refs #2860 and #3729. This correction concerns #3727; #3728 remains the separate buffer change. -- 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]
