He-Pin opened a new pull request, #3365: URL: https://github.com/apache/pekko/pull/3365
### Motivation Completed mapAsyncPartitioned results can remain buffered until downstream demand resumes. The partitionsInProgress empty shortcut bypasses the push logic, so a completed buffer can stop making progress. ### Modification Remove the partitionsInProgress.isEmpty short-circuit from both ordered and unordered push paths so buffered results are always examined when demand is available. Add focused backpressure tests for ordered and unordered variants. The tests fill parallelism, consume one result, complete the remaining futures without demand, then verify all buffered results are emitted once demand resumes. ### Result Completed buffered elements are emitted after downstream demand resumes. Ordering and per-partition parallelism semantics are unchanged. ### Tests - sbt stream-typed-tests MapAsyncPartitionedSpec, repeated 5 times: 110/110 passed - sbt stream-tests FlowMapAsyncPartitionedSpec: 24/24 passed - validatePullRequest relevant stream batches: 3,407 passed, 0 failed; typed batch: 24 passed, 0 failed - scalafmt diff formatting and list check: passed - sbt headerCreateAll: passed - sbt checkCodeStyle and +headerCheckAll: passed - git diff --check: passed - Qoder stdout review: No must-fix findings - validatePullRequest completed but exited nonzero on unrelated local environment tests: leveldbjni-all 1.8 cannot load on macOS ARM64 in persistence and persistence-query; NettyTransportSpec cannot bind 127.0.1.1; RotatingProviderWithChangingKeysSpec timed out resolving a remote actor; IntegrationDocTest failed to instantiate the default mailbox under local JDK 25 ### References Fixes #2886 -- 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]
