He-Pin commented on issue #610: URL: https://github.com/apache/pekko/issues/610#issuecomment-4576972395
Root-cause analysis: this is the test marked with an explicit in-code `// FIXME https://github.com/akka/akka/issues/30844` (StreamRefsSpec.scala:361, just above the failing case "pass cancellation upstream across remoting before elements has been emitted"). When cancellation is propagated across remoting *before any element has been emitted*, the `KillSwitches.shutdown()` races the remote `SourceRef` actor termination: the local side can observe `RemoteStreamRefActorTerminatedException` ("message loss may have happened") instead of a clean `Done`. This is a known upstream product race in stream-ref cancellation propagation that Akka itself left unfixed (akka#30844). Making the test tolerate both `Done` and the termination exception would only **mask** the deliberately-flagged product bug, so a test-only tweak is not appropriate here. The real fix belongs in the stream-ref cancellation path. Leaving open and linked to the FIXME. -- 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]
