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]

Reply via email to