The GitHub Actions job "Scalafmt" on pekko.git/fix-prefixAndTail-empty-tail has 
failed.
Run started by GitHub user He-Pin (triggered by He-Pin).

Head commit for run:
ffc2857b2edd59ff8c756bf5a2dad30765062644 / 虎鸣 <[email protected]>
fix: defer speculative pre-pull in PrefixAndTail to avoid Split cascade

Motivation:
The synchronous pull(in) inside openSubstream() cascades to the
upstream operator when called inside a push() handler. When
PrefixAndTail is used inside a Split operator with single-element
substreams, the cascade triggers Split.onPull() which tries to push
while the current push is still in progress, causing
"Cannot push port (Split.out) twice".

Modification:
Wrap the speculative pre-pull in getAsyncCallback to defer it through
the interpreter's async event loop, preventing synchronous cascade.

Result:
FlowSplitAfterSpec "work with single elem splits" passes.

Tests:
- sbt "stream-tests / Test / testOnly 
org.apache.pekko.stream.scaladsl.FlowSplitAfterSpec" (planned)

References:
Fixes #2991

Report URL: https://github.com/apache/pekko/actions/runs/27522731834

With regards,
GitHub Actions via GitBox


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to