chore(stream): remove internal FanOut Unzip#2873
Merged
He-Pin merged 1 commit intoapache:mainfrom Apr 19, 2026
Merged
Conversation
Motivation: Public Unzip is already GraphStage-based, while stream.impl.FanOut still carried an unused internal actor-backed Unzip implementation. Keeping that dead code makes issue apache#2860 harder to reason about and still leaves binary-visible legacy symbols behind on the 2.0.x line. Modification: Remove the internal impl.Unzip object/class from FanOut.scala and add a 2.0.x MiMa exclude file for the deleted binary-visible symbols. Result: The dead internal Unzip cleanup now stands alone as a small, reviewable slice with unchanged public Unzip behavior and green compile/MiMa/spec validation. References: apache#2860 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This is the first small slice for #2860.
It removes the dead internal
org.apache.pekko.stream.impl.Unzipimplementation fromFanOut.scalaand adds the matching2.0.xMiMa exclusions for the deleted binary-visible symbols.The public Scala/Java DSL
Unzipis already GraphStage-based, so this PR only drops the stale internal actor-backed implementation. This cleanup is part of Apache Pekko, which is now Apache licensed.Motivation
Modification
impl.Unzipobject/class fromstream/src/main/scala/org/apache/pekko/stream/impl/FanOut.scalastream/src/main/mima-filters/2.0.x.backwards.excludes/remove-internal-unzip.excludesResult
Unzipbehavior remains unchangedValidation
sbt scalafmtAllsbt "stream/test:compile"sbt "stream/mimaReportBinaryIssues"sbt "stream-tests/testOnly org.apache.pekko.stream.scaladsl.GraphUnzipSpec"Upstream / references