From 6264f8ea700d10c808011f334c20a2a53edce478 Mon Sep 17 00:00:00 2001 From: Konrad Malawski Date: Mon, 22 Jan 2018 19:13:40 +0900 Subject: [PATCH] +str #24229 back to Future[] API for stream refs nitpicks --- .../paradox/images/sink-ref-animation.gif | Bin 132465 -> 96908 bytes .../paradox/images/source-ref-animation.gif | Bin 84976 -> 96884 bytes .../src/main/paradox/stream/stream-refs.md | 33 ++++--- .../jdocs/stream/FlowStreamRefsDocTest.java | 34 +++---- .../docs/stream/FlowStreamRefsDocSpec.scala | 22 ++--- .../akka/stream/scaladsl/StreamRefsSpec.scala | 38 ++++---- .../mima-filters/2.5.10.backwards.excludes | 3 - .../scala/akka/stream/ActorMaterializer.scala | 63 +++++++++++-- .../scala/akka/stream/StreamRefSettings.scala | 2 +- .../main/scala/akka/stream/StreamRefs.scala | 13 ++- .../impl/PhasedFusingActorMaterializer.scala | 46 +--------- .../main/scala/akka/stream/impl/Stages.scala | 1 - .../akka/stream/impl/TraversalBuilder.scala | 28 ------ .../akka/stream/impl/fusing/GraphStages.scala | 84 ------------------ .../impl/streamref/MaterializedSinkRef.scala | 47 ---------- .../streamref/MaterializedSourceRef.scala | 79 ---------------- .../stream/impl/streamref/SinkRefImpl.scala | 2 + .../streamref/StreamRefSettingsImpl.scala | 2 +- .../impl/streamref/StreamRefsMaster.scala | 36 -------- .../main/scala/akka/stream/javadsl/Flow.scala | 9 -- .../main/scala/akka/stream/javadsl/Sink.scala | 22 ----- .../scala/akka/stream/javadsl/Source.scala | 18 ---- .../akka/stream/javadsl/StreamRefs.scala | 46 ++++++++++ .../scala/akka/stream/scaladsl/Flow.scala | 17 +--- .../scala/akka/stream/scaladsl/Sink.scala | 27 ------ .../scala/akka/stream/scaladsl/Source.scala | 29 +----- .../akka/stream/scaladsl/StreamRefs.scala | 46 ++++++++++ .../scala/akka/stream/stage/GraphStage.scala | 9 ++ 28 files changed, 242 insertions(+), 514 deletions(-) delete mode 100644 akka-stream/src/main/scala/akka/stream/impl/streamref/MaterializedSinkRef.scala delete mode 100644 akka-stream/src/main/scala/akka/stream/impl/streamref/MaterializedSourceRef.scala create mode 100644 akka-stream/src/main/scala/akka/stream/javadsl/StreamRefs.scala create mode 100644 akka-stream/src/main/scala/akka/stream/scaladsl/StreamRefs.scala diff --git a/akka-docs/src/main/paradox/images/sink-ref-animation.gif b/akka-docs/src/main/paradox/images/sink-ref-animation.gif index ae572ddd13028fcd21be98cc806e52848120a2b5..52e26d2103c04b9350176956f35bed0aede9aa41 100644 GIT binary patch literal 96908 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 literal 132465 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

uM>W%ENA3b}D++IG>c>G~n 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 WrpB!ku6K+1mrN&HVH8a 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

3qAM5lDg`}+mQTRD{7Y}$>UIyG{r>zVwYsT+N& zSWUBOPlv9$S=aS-FYiQ7Ob(dDp1#N@x106Vs~9paakC-IINc2eBGU$C9iMo?KWS3Z*R@&IGyl!iyWH%|C3euAy&w6 z=s$%;H& zntr^T?k><$;VF?=|6lY(eEr9}OBKUKO3R{?Saqi;ILoeUPwLWIcOt1<`|tF7byc}f zl47MmGxiO5@c zxLpAKrm=nn=Pnt~proyhH@#Lt&X$$@@5()a3w*ZhHk0L>m!F^SP@Q)Ana))9rgO(w zV^3|#^mI_H@F@1$y6Wm`=Kq4Ss!72OB5RH$%6d=B*9cO{ zuE_n?G;#a-`}cK`hR;_~YF^ZWMxCjOXiT*uzOm|vl`Y(Ov+-LLc#p8YlHq9p!T*NY;O!R=QAS>St;CLa60kj z)2f#@lml|&r~QmI`SwLQz&UN(OWB!u$237VjlF!pS$sqCzJkMnmiCrO5{s6*C2+JH zk({){Q9x<=)`nveLVqW_FyuNU2MW|UOq?jksAA|LAT#0GJeB4=l?;Ynk4qg6Q$MJk zEEAUeZ`ABsR1wm+;=@NnkCl>dvpN>k3Z!(%Grq}+Di&NT)?h#F(UxPIF1$PG&QK>I zowIR|ok))SZK>?po0u}W);T?UaM7uF(}P)WcZIzaV_3sE_Y~XiFW0i)@BQ&?HOa?x z>wG$)GCk+hNsZ-eKAqCp{^rwZ1Nc?bW@}fqYciefDBhR2;` z43&}0__%0GxzB#-13kuh;ifx}om_N#NAT=rQ(~jVmxNR>_uegbyzFo|*zTFd+-**) zIG*I)Fum71;R2KI|K>&aSf}=G@AsU%Yl7u}lP0&jOf#Fw<2u<4dUT8h#R zhu%My6%&)6Y*^*+*=bk6{C?*xM>fwF?+lZeovs?kJAX@`fuSEm-tS#O@6SECD93qf z`+KuKW7qeMoGxze$t)8&KiYWB<=3}U-q)qLHt$M@?uFkgMDDQ76yDwXxcvO2pj|(8 z0_>i8oAmwq;cIx$#rR8RU3|uGb62|yCwM1HZrwfK`_pyBRE`e~94Z2jg-$p$ZC&3O zcS)Azw93BvIay7)N`3zgP8{T0)m|jWvyj8xtj!b&tj?TCytrz`q*30vsmW2$8oD$ANwlKESCFz z;<(+fkNpiiOBC2WPdG_^n$Y31L`nSQ2{)@x6DRa6QBn6i=@s>9(u^}p)XYzw^sD+b zc>&K-4R_B|L9;$hS>dx(EBxfCuw9>~hSV(8DNkM+>6I?e_`$8(La?FAKyAv#GkkjA zC-P=CoSk;@;_;9Pma++3oOBjEaj!WPv9N&wQN9^5h%yK>9YZhQVoq#8E#Jh}EZeyF zIHY{rgt-0t^mK#dQ*%5aXJ@~<1HRTnYBQs(*B0>oo>EU%KyUwUJyEji>gtHiSaLGYp(yw`f{+WPwX2K;wLoZEv^z9C)f@gI6ugyJQx z5BkvZt-rvN!Tif-X<6+m0r|hPwhB6gihOLJX!LgL(c=mXacb;boMBV^n?C zZ~x|fr7UtFxKepSBa8Lc^9ME{-@_Ho^qYZ^fsuiMgN1>ag$0p9H5lX>Dj4@dQz%bD z-hzY89Ku={DKzWO3B%;AS!|!5zV;xHLLI1ZKmGORC-yZkhs&t%*zoXhA*XWOnH?J+ zA18G23`HsQEHs5utp?6`)Tyy-#iK5rZJ-+X7}CWvB&E=&NcYpj?)n6$P*4qw?QZW` zYF5bi)u6@jgnT?Pyx6js?fhK&#IQOzhW}`TVmN;^hM&#AEQ4^xaMdz<9(#bD*NYR-zhrI1?2ax>rA*-WchC$xfF(V#pmIFUEo zWwKW6sVQlvmjx{Ln(H-HO)2%?DsU|m-g4>R-``%O)iNKQGWwLgzs=HX*m81)vH8?# z`tzTiU(jgB?YryC*#JfnmIcYXwq{SbxQtan#Nqkt+dH)XeV$&r;M~TYpc@+YfLhU$ zwc`=B%-;>qUm;%}RY#>ftQfVacE)_m)hq>l9U9AK+%0ANvP>zhd4Nrl_=(|@pB+nO7+Py8epP7ka*V*0QoqZWCe#!aGNiciJw4U`uIL?Z{o=Q=IQt|IH z>DAKQ_To`V^PkU3X*DN=4p=xDZoktrYvyB-KAX5@$$gI3();>dgT#r_K3W^|kqBe(rOS_0sj<`_l|fDu;$I53(qurRPO zFmMPn1oNI2Td?3@Guz*_Mja>Gwjxi=Ixt!?urM$)FmUiPTxFGza1cG{U^Rzz=uV8` z8ZErMB6u}fqlMC2meyLD9KCzE`|j{+8z4ptSI!u1C4dJBMq3G^qXgI{*tV#Swh~5L z2~=5*I8cirpfg0H{RBDRU0Ys~+!`1y0dOye8b9o;;!1$gfx_&2XLcejDN*HY=pzT{W9Bm~G ziStDN(k2K%f1gQ=|=|&hwiEYD()v3ohclh nDIA?CWY8Jy0>CPU(SgFzfx`Re_wWDzpMh=Yb^$0JD6|FudarFF literal 84976 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 logs = streamLogs(requestLogs.streamId); - SourceRef logsRef = logs.runWith(Sink.sourceRef(), mat); - LogsOffer offer = new LogsOffer(logsRef); - sender().tell(offer, self()); + CompletionStage> logsRef = logs.runWith(StreamRefs.sourceRef(), mat); + + PatternsCS.pipe(logsRef.thenApply(ref -> new LogsOffer(ref)), context().dispatcher()) + .to(sender()); } private Source streamLogs(long streamId) { @@ -89,18 +92,18 @@ public class FlowStreamRefsDocTest extends AbstractJavaTest { } //#offer-sink - class PrepareUpload { + static class PrepareUpload { final String id; public PrepareUpload(String id) { this.id = id; } } - class MeasurementsSinkReady { + static class MeasurementsSinkReady { final String id; final SinkRef sinkRef; - public PrepareUpload(String id, SinkRef ref) { + public MeasurementsSinkReady(String id, SinkRef ref) { this.id = id; this.sinkRef = ref; } @@ -112,15 +115,16 @@ public class FlowStreamRefsDocTest extends AbstractJavaTest { return receiveBuilder() .match(PrepareUpload.class, prepare -> { Sink sink = logsSinkFor(prepare.id); - SinkRef sinkRef = Source.sinkRef().to(sink).run(mat); + CompletionStage> sinkRef = StreamRefs.sinkRef().to(sink).run(mat); - sender().tell(new MeasurementsSinkReady(sinkRef), self()); + PatternsCS.pipe(sinkRef.thenApply(ref -> new MeasurementsSinkReady(prepare.id, ref)), context().dispatcher()) + .to(sender()); }) - .create(); + .build(); } private Sink logsSinkFor(String id) { - return Sink.ignore(); // would be actual useful Sink in reality + return Sink.ignore().mapMaterializedValue(done -> NotUsed.getInstance()); } } //#offer-sink @@ -132,10 +136,10 @@ public class FlowStreamRefsDocTest extends AbstractJavaTest { ActorRef receiver = system.actorOf(Props.create(DataReceiver.class), "dataReceiver"); receiver.tell(new PrepareUpload("system-42-tmp"), getTestActor()); - MeasurementsSinkReady ready = expectMsgClass(LogsOffer.class); + MeasurementsSinkReady ready = expectMsgClass(MeasurementsSinkReady.class); Source.repeat("hello") - .runWith(ready.sinkRef, mat); + .runWith(ready.sinkRef.getSink(), mat); //#offer-sink-use }}; } @@ -149,11 +153,11 @@ public class FlowStreamRefsDocTest extends AbstractJavaTest { // configuring Sink.sourceRef (notice that we apply the attributes to the Sink!): Source.repeat("hello") - .runWith(Sink.sourceRef().addAttributes(timeoutAttributes), mat); + .runWith(StreamRefs.sourceRef().addAttributes(timeoutAttributes), mat); // configuring SinkRef.source: - Source.sinkRef().addAttributes(timeoutAttributes) - .runWith(Sink.ignore(), mat); // not very interesting sink, just an example + StreamRefs.sinkRef().addAttributes(timeoutAttributes) + .runWith(Sink.ignore(), mat); // not very interesting sink, just an example //#attr-sub-timeout }}; diff --git a/akka-docs/src/test/scala/docs/stream/FlowStreamRefsDocSpec.scala b/akka-docs/src/test/scala/docs/stream/FlowStreamRefsDocSpec.scala index 3dd8f5be05..a289d01b1b 100644 --- a/akka-docs/src/test/scala/docs/stream/FlowStreamRefsDocSpec.scala +++ b/akka-docs/src/test/scala/docs/stream/FlowStreamRefsDocSpec.scala @@ -9,18 +9,20 @@ import akka.stream.ActorMaterializer import akka.stream.scaladsl._ import akka.testkit.AkkaSpec import docs.CompileOnlySpec +import scala.concurrent.Future class FlowStreamRefsDocSpec extends AkkaSpec with CompileOnlySpec { "offer a source ref" in compileOnlySpec { //#offer-source import akka.stream.SourceRef + import akka.pattern.pipe case class RequestLogs(streamId: Int) case class LogsOffer(streamId: Int, sourceRef: SourceRef[String]) class DataSource extends Actor { - + import context.dispatcher implicit val mat = ActorMaterializer()(context) def receive = { @@ -29,13 +31,13 @@ class FlowStreamRefsDocSpec extends AkkaSpec with CompileOnlySpec { val source: Source[String, NotUsed] = streamLogs(streamId) // materialize the SourceRef: - val ref: SourceRef[String] = source.runWith(Sink.sourceRef()) + val ref: Future[SourceRef[String]] = source.runWith(StreamRefs.sourceRef()) // wrap the SourceRef in some domain message, such that the sender knows what source it is - val reply: LogsOffer = LogsOffer(streamId, ref) + val reply: Future[LogsOffer] = ref.map(LogsOffer(streamId, _)) // reply to sender - sender() ! reply + reply pipeTo sender() } def streamLogs(streamId: Long): Source[String, NotUsed] = ??? @@ -59,7 +61,7 @@ class FlowStreamRefsDocSpec extends AkkaSpec with CompileOnlySpec { "offer a sink ref" in compileOnlySpec { //#offer-sink - import akka.pattern._ + import akka.pattern.pipe import akka.stream.SinkRef case class PrepareUpload(id: String) @@ -76,13 +78,13 @@ class FlowStreamRefsDocSpec extends AkkaSpec with CompileOnlySpec { val sink: Sink[String, NotUsed] = logsSinkFor(nodeId) // materialize the SinkRef (the remote is like a source of data for us): - val ref: SinkRef[String] = Source.sinkRef[String]().to(sink).run() + val ref: Future[SinkRef[String]] = StreamRefs.sinkRef[String]().to(sink).run() // wrap the SinkRef in some domain message, such that the sender knows what source it is - val reply: MeasurementsSinkReady = MeasurementsSinkReady(nodeId, ref) + val reply: Future[MeasurementsSinkReady] = ref.map(MeasurementsSinkReady(nodeId, _)) // reply to sender - sender() ! reply + reply pipeTo sender() } def logsSinkFor(nodeId: String): Sink[String, NotUsed] = ??? @@ -114,10 +116,10 @@ class FlowStreamRefsDocSpec extends AkkaSpec with CompileOnlySpec { // configuring Sink.sourceRef (notice that we apply the attributes to the Sink!): Source.repeat("hello") - .runWith(Sink.sourceRef().addAttributes(StreamRefAttributes.subscriptionTimeout(5.seconds))) + .runWith(StreamRefs.sourceRef().addAttributes(StreamRefAttributes.subscriptionTimeout(5.seconds))) // configuring SinkRef.source: - Source.sinkRef().addAttributes(StreamRefAttributes.subscriptionTimeout(5.seconds)) + StreamRefs.sinkRef().addAttributes(StreamRefAttributes.subscriptionTimeout(5.seconds)) .runWith(Sink.ignore) // not very interesting Sink, just an example //#attr-sub-timeout } diff --git a/akka-stream-tests/src/test/scala/akka/stream/scaladsl/StreamRefsSpec.scala b/akka-stream-tests/src/test/scala/akka/stream/scaladsl/StreamRefsSpec.scala index 60a9339d1c..06b9333c1d 100644 --- a/akka-stream-tests/src/test/scala/akka/stream/scaladsl/StreamRefsSpec.scala +++ b/akka-stream-tests/src/test/scala/akka/stream/scaladsl/StreamRefsSpec.scala @@ -11,9 +11,10 @@ import akka.stream.testkit.TestPublisher import akka.stream.testkit.scaladsl._ import akka.stream.{ ActorMaterializer, SinkRef, SourceRef, StreamRefAttributes } import akka.testkit.{ AkkaSpec, ImplicitSender, SocketUtil, TestKit, TestProbe } -import akka.util.ByteString +import akka.util.{ ByteString, PrettyDuration } import com.typesafe.config._ +import scala.collection.immutable import scala.concurrent.duration._ import scala.concurrent.Future import scala.util.control.NoStackTrace @@ -27,6 +28,7 @@ object StreamRefsSpec { } class DataSourceActor(probe: ActorRef) extends Actor with ActorLogging { + import context.dispatcher implicit val mat = ActorMaterializer() def receive = { @@ -37,35 +39,35 @@ object StreamRefsSpec { * For them it's a Source; for us it is a Sink we run data "into" */ val source: Source[String, NotUsed] = Source(List("hello", "world")) - val ref: SourceRef[String] = source.runWith(Sink.sourceRef()) + val ref: Future[SourceRef[String]] = source.runWith(StreamRefs.sourceRef()) - sender() ! ref + ref pipeTo sender() case "give-infinite" ⇒ val source: Source[String, NotUsed] = Source.fromIterator(() ⇒ Iterator.from(1)).map("ping-" + _) - val (r: NotUsed, ref: SourceRef[String]) = source.toMat(Sink.sourceRef())(Keep.both).run() + val (r: NotUsed, ref: Future[SourceRef[String]]) = source.toMat(StreamRefs.sourceRef())(Keep.both).run() - sender() ! ref + ref pipeTo sender() case "give-fail" ⇒ val ref = Source.failed[String](new Exception("Booooom!") with NoStackTrace) - .runWith(Sink.sourceRef()) + .runWith(StreamRefs.sourceRef()) - sender() ! ref + ref pipeTo sender() case "give-complete-asap" ⇒ val ref = Source.empty - .runWith(Sink.sourceRef()) + .runWith(StreamRefs.sourceRef()) - sender() ! ref + ref pipeTo sender() case "give-subscribe-timeout" ⇒ val ref = Source.repeat("is anyone there?") - .toMat(Sink.sourceRef())(Keep.right) // attributes like this so they apply to the Sink.sourceRef + .toMat(StreamRefs.sourceRef())(Keep.right) // attributes like this so they apply to the Sink.sourceRef .withAttributes(StreamRefAttributes.subscriptionTimeout(500.millis)) .run() - sender() ! ref + ref pipeTo sender() // case "send-bulk" ⇒ // /* @@ -84,23 +86,23 @@ object StreamRefsSpec { * * For them it's a Sink; for us it's a Source. */ - val sink: SinkRef[String] = - Source.sinkRef[String]() + val sink = + StreamRefs.sinkRef[String]() .to(Sink.actorRef(probe, "")) .run() - sender() ! sink + sink pipeTo sender() case "receive-subscribe-timeout" ⇒ - val sink = Source.sinkRef[String]() + val sink = StreamRefs.sinkRef[String]() .withAttributes(StreamRefAttributes.subscriptionTimeout(500.millis)) .to(Sink.actorRef(probe, "")) .run() - sender() ! sink + sink pipeTo sender() case "receive-32" ⇒ - val (sink, driver) = Source.sinkRef[String]() + val (sink, driver) = StreamRefs.sinkRef[String]() .toMat(TestSink.probe(context.system))(Keep.both) .run() @@ -117,7 +119,7 @@ object StreamRefsSpec { "" } pipeTo probe - sender() ! sink + sink pipeTo sender() // case "receive-bulk" ⇒ // /* diff --git a/akka-stream/src/main/mima-filters/2.5.10.backwards.excludes b/akka-stream/src/main/mima-filters/2.5.10.backwards.excludes index 3308b3e3e6..e69de29bb2 100644 --- a/akka-stream/src/main/mima-filters/2.5.10.backwards.excludes +++ b/akka-stream/src/main/mima-filters/2.5.10.backwards.excludes @@ -1,3 +0,0 @@ -# #24230 stream refs - SourceRef / SinkRef -ProblemFilters.exclude[DirectMissingMethodProblem]("akka.stream.ActorMaterializerSettings.this") -ProblemFilters.exclude[DirectMissingMethodProblem]("akka.stream.stage.GraphStageLogic#StageActor.this") diff --git a/akka-stream/src/main/scala/akka/stream/ActorMaterializer.scala b/akka-stream/src/main/scala/akka/stream/ActorMaterializer.scala index ce597be99a..cb9e8731c8 100644 --- a/akka-stream/src/main/scala/akka/stream/ActorMaterializer.scala +++ b/akka-stream/src/main/scala/akka/stream/ActorMaterializer.scala @@ -9,13 +9,11 @@ import java.util.concurrent.atomic.AtomicBoolean import akka.actor.{ ActorContext, ActorRef, ActorRefFactory, ActorSystem, ExtendedActorSystem, Props } import akka.event.LoggingAdapter import akka.util.Helpers.toRootLowerCase -import akka.stream.ActorMaterializerSettings.defaultMaxFixedBufferSize import akka.stream.impl._ import com.typesafe.config.{ Config, ConfigFactory } import scala.concurrent.duration._ import akka.japi.function -import akka.stream.impl.streamref.StreamRefSettingsImpl import akka.stream.stage.GraphStageLogic import scala.util.control.NoStackTrace @@ -249,7 +247,8 @@ object ActorMaterializerSettings { maxFixedBufferSize: Int) = new ActorMaterializerSettings( initialInputBufferSize, maxInputBufferSize, dispatcher, supervisionDecider, subscriptionTimeoutSettings, debugLogging, - outputBurstLimit, fuzzingMode, autoFusing, maxFixedBufferSize, defaultMaxFixedBufferSize, defaultIoSettings, defaultStreamRefSettings) + outputBurstLimit, fuzzingMode, autoFusing, maxFixedBufferSize, 1000, IOSettings(tcpWriteBufferSize = 16 * 1024), + StreamRefSettings(ConfigFactory.load().getConfig("akka.stream.materializer.stream-ref"))) /** * Create [[ActorMaterializerSettings]] from the settings of an [[akka.actor.ActorSystem]] (Scala). @@ -294,7 +293,8 @@ object ActorMaterializerSettings { maxFixedBufferSize: Int) = new ActorMaterializerSettings( initialInputBufferSize, maxInputBufferSize, dispatcher, supervisionDecider, subscriptionTimeoutSettings, debugLogging, - outputBurstLimit, fuzzingMode, autoFusing, maxFixedBufferSize, defaultMaxFixedBufferSize, defaultIoSettings, defaultStreamRefSettings) + outputBurstLimit, fuzzingMode, autoFusing, maxFixedBufferSize, 1000, IOSettings(tcpWriteBufferSize = 16 * 1024), + StreamRefSettings(ConfigFactory.load().getConfig("akka.stream.materializer.stream-ref"))) /** * Create [[ActorMaterializerSettings]] from the settings of an [[akka.actor.ActorSystem]] (Java). @@ -308,10 +308,6 @@ object ActorMaterializerSettings { def create(config: Config): ActorMaterializerSettings = apply(config) - private val defaultMaxFixedBufferSize = 1000 - private val defaultIoSettings = IOSettings(tcpWriteBufferSize = 16 * 1024) - // sadly due to the existence of the create-from-individual-parts methods, we need to replicate the defaults here from reference.conf... - private val defaultStreamRefSettings: StreamRefSettings = StreamRefSettings(ConfigFactory.load().getConfig("akka.stream.materializer.stream-ref")) } /** @@ -345,6 +341,57 @@ final class ActorMaterializerSettings private ( requirePowerOfTwo(maxInputBufferSize, "maxInputBufferSize") require(initialInputBufferSize <= maxInputBufferSize, s"initialInputBufferSize($initialInputBufferSize) must be <= maxInputBufferSize($maxInputBufferSize)") + // backwards compatibility when added IOSettings, shouldn't be needed since private, but added to satisfy mima + def this( + initialInputBufferSize: Int, + maxInputBufferSize: Int, + dispatcher: String, + supervisionDecider: Supervision.Decider, + subscriptionTimeoutSettings: StreamSubscriptionTimeoutSettings, + debugLogging: Boolean, + outputBurstLimit: Int, + fuzzingMode: Boolean, + autoFusing: Boolean, + maxFixedBufferSize: Int, + syncProcessingLimit: Int, + ioSettings: IOSettings) = + this(initialInputBufferSize, maxInputBufferSize, dispatcher, supervisionDecider, subscriptionTimeoutSettings, debugLogging, + outputBurstLimit, fuzzingMode, autoFusing, maxFixedBufferSize, syncProcessingLimit, ioSettings, + StreamRefSettings(ConfigFactory.load().getConfig("akka.stream.materializer.stream-ref"))) + + // backwards compatibility when added IOSettings, shouldn't be needed since private, but added to satisfy mima + def this( + initialInputBufferSize: Int, + maxInputBufferSize: Int, + dispatcher: String, + supervisionDecider: Supervision.Decider, + subscriptionTimeoutSettings: StreamSubscriptionTimeoutSettings, + debugLogging: Boolean, + outputBurstLimit: Int, + fuzzingMode: Boolean, + autoFusing: Boolean, + maxFixedBufferSize: Int, + syncProcessingLimit: Int) = + this(initialInputBufferSize, maxInputBufferSize, dispatcher, supervisionDecider, subscriptionTimeoutSettings, debugLogging, + outputBurstLimit, fuzzingMode, autoFusing, maxFixedBufferSize, syncProcessingLimit, + IOSettings(tcpWriteBufferSize = 16 * 1024), StreamRefSettings(ConfigFactory.load().getConfig("akka.stream.materializer.stream-ref"))) + + // backwards compatibility when added IOSettings, shouldn't be needed since private, but added to satisfy mima + def this( + initialInputBufferSize: Int, + maxInputBufferSize: Int, + dispatcher: String, + supervisionDecider: Supervision.Decider, + subscriptionTimeoutSettings: StreamSubscriptionTimeoutSettings, + debugLogging: Boolean, + outputBurstLimit: Int, + fuzzingMode: Boolean, + autoFusing: Boolean, + maxFixedBufferSize: Int) = + this(initialInputBufferSize, maxInputBufferSize, dispatcher, supervisionDecider, subscriptionTimeoutSettings, debugLogging, + outputBurstLimit, fuzzingMode, autoFusing, maxFixedBufferSize, 1000, IOSettings(tcpWriteBufferSize = 16 * 1024), + StreamRefSettings(ConfigFactory.load().getConfig("akka.stream.materializer.stream-ref"))) + private def copy( initialInputBufferSize: Int = this.initialInputBufferSize, maxInputBufferSize: Int = this.maxInputBufferSize, diff --git a/akka-stream/src/main/scala/akka/stream/StreamRefSettings.scala b/akka-stream/src/main/scala/akka/stream/StreamRefSettings.scala index 5b1646d279..f10c5c6424 100644 --- a/akka-stream/src/main/scala/akka/stream/StreamRefSettings.scala +++ b/akka-stream/src/main/scala/akka/stream/StreamRefSettings.scala @@ -46,7 +46,7 @@ trait StreamRefSettings { // --- with... methods --- def withBufferCapacity(value: Int): StreamRefSettings - def withDemandRedeliveryInterval(value: scala.concurrent.duration.FiniteDuration): StreamRefSettings + def withDemandRedeliveryInterval(value: FiniteDuration): StreamRefSettings def withSubscriptionTimeout(value: FiniteDuration): StreamRefSettings } diff --git a/akka-stream/src/main/scala/akka/stream/StreamRefs.scala b/akka-stream/src/main/scala/akka/stream/StreamRefs.scala index 7a208e511a..39656b5484 100644 --- a/akka-stream/src/main/scala/akka/stream/StreamRefs.scala +++ b/akka-stream/src/main/scala/akka/stream/StreamRefs.scala @@ -23,7 +23,7 @@ object SinkRef { * to accept some data from it, and the remote one decides to accept the request to send data in a back-pressured * streaming fashion -- using a sink ref. * - * To create a [[SinkRef]] you have to materialize the `Sink` that you want to obtain a reference to by attaching it to a `Source.sinkRef`. + * To create a [[SinkRef]] you have to materialize the `Sink` that you want to obtain a reference to by attaching it to a `StreamRefs.sinkRef()`. * * Stream refs can be seen as Reactive Streams over network boundaries. * See also [[akka.stream.SourceRef]] which is the dual of a `SinkRef`. @@ -69,14 +69,16 @@ trait SourceRef[T] { // --- exceptions --- final case class TargetRefNotInitializedYetException() - extends IllegalStateException("Internal remote target actor ref not yet resolved, yet attempted to send messages to it. This should not happen due to proper flow-control, please open a ticket on the issue tracker: https://github.com/akka/akka") + extends IllegalStateException("Internal remote target actor ref not yet resolved, yet attempted to send messages to it. " + + "This should not happen due to proper flow-control, please open a ticket on the issue tracker: https://github.com/akka/akka") final case class StreamRefSubscriptionTimeoutException(msg: String) extends IllegalStateException(msg) final case class RemoteStreamRefActorTerminatedException(msg: String) extends RuntimeException(msg) final case class InvalidSequenceNumberException(expectedSeqNr: Long, gotSeqNr: Long, msg: String) - extends IllegalStateException(s"$msg (expected: $expectedSeqNr, got: $gotSeqNr)") + extends IllegalStateException(s"$msg (expected: $expectedSeqNr, got: $gotSeqNr). " + + s"In most cases this means that message loss on this connection has occurred and the stream will fail eagerly.") /** * Stream refs establish a connection between a local and remote actor, representing the origin and remote sides @@ -89,4 +91,7 @@ final case class InvalidSequenceNumberException(expectedSeqNr: Long, gotSeqNr: L * This is not meant as a security feature, but rather as plain sanity-check. */ final case class InvalidPartnerActorException(expectedRef: ActorRef, gotRef: ActorRef, msg: String) - extends IllegalStateException(s"$msg (expected: $expectedRef, got: $gotRef)") + extends IllegalStateException(s"$msg (expected: $expectedRef, got: $gotRef). " + + s"This may happen due to 'double-materialization' on the other side of this stream ref. " + + s"Do note that stream refs are one-shot references and have to be paired up in 1:1 pairs. " + + s"Multi-cast such as broadcast etc can be implemented by sharing multiple new stream references. ") diff --git a/akka-stream/src/main/scala/akka/stream/impl/PhasedFusingActorMaterializer.scala b/akka-stream/src/main/scala/akka/stream/impl/PhasedFusingActorMaterializer.scala index 25e3791dd8..959bc79001 100644 --- a/akka-stream/src/main/scala/akka/stream/impl/PhasedFusingActorMaterializer.scala +++ b/akka-stream/src/main/scala/akka/stream/impl/PhasedFusingActorMaterializer.scala @@ -24,11 +24,8 @@ import org.reactivestreams.{ Processor, Publisher, Subscriber } import scala.collection.immutable.Map import scala.concurrent.duration.FiniteDuration -import scala.concurrent.{ Await, ExecutionContextExecutor, Future } -import scala.annotation.tailrec -import akka.util.{ OptionVal, PrettyDuration } - -import scala.util.{ Failure, Success } +import scala.concurrent.ExecutionContextExecutor +import akka.util.OptionVal /** * INTERNAL API @@ -433,7 +430,6 @@ private final case class SavedIslandData(islandGlobalOffset: Int, lastVisitedOff val traversalStack = new java.util.ArrayDeque[Traversal](16) traversalStack.addLast(current) - var needsFlattening = false val matValueStack = new java.util.ArrayDeque[Any](8) if (Debug) { @@ -481,18 +477,7 @@ private final case class SavedIslandData(islandGlobalOffset: Int, lastVisitedOff case compose: Compose ⇒ val second = matValueStack.removeLast() val first = matValueStack.removeLast() - - val result = - if (needsFlattening && (first.isInstanceOf[FlattenMatHolder[_]] || second.isInstanceOf[FlattenMatHolder[_]])) { - (first, second) match { - case (FlattenMatHolder(f1, t1), FlattenMatHolder(f2, t2)) ⇒ - FlattenMatHolder[Any](f1.zip(f2).map({ case (left, right) ⇒ compose(left, right) })(system.dispatcher), t1) // FIXME dedicate a dispatcher thread? - case (FlattenMatHolder(f1, t1), v2) ⇒ - FlattenMatHolder(f1.map(compose(_, v2))(system.dispatcher), t1) // FIXME dedicate a dispatcher thread? - case (v1, FlattenMatHolder(f2, t2)) ⇒ - FlattenMatHolder(f2.map(compose(v1, _))(system.dispatcher), t2) // FIXME dedicate a dispatcher thread? - } - } else compose(first, second) + val result = compose(first, second) matValueStack.addLast(result) if (Debug) println(s"COMP: $matValueStack") case PushAttributes(attr) ⇒ @@ -505,13 +490,6 @@ private final case class SavedIslandData(islandGlobalOffset: Int, lastVisitedOff islandTracking.enterIsland(tag, attributesStack.getLast) case ExitIsland ⇒ islandTracking.exitIsland() - case flatten: FlattenMat ⇒ - val prev = matValueStack.removeLast() - if (!prev.isInstanceOf[Future[_]]) throw new IllegalArgumentException("flattenMaterializedValue MUST be applied immediately after a materialized value ") - val result = FlattenMatHolder(prev.asInstanceOf[Future[Mat]], flatten.timeout) - needsFlattening = true - matValueStack.addLast(result) - if (Debug) println(s"FLTN: $matValueStack") case _ ⇒ } current = nextStep @@ -525,23 +503,7 @@ private final case class SavedIslandData(islandGlobalOffset: Int, lastVisitedOff islandTracking.allNestedIslandsReady() if (Debug) println("--- Finished materialization") - matValueStack.peekLast() match { - case FlattenMatHolder(f: Future[Mat @unchecked], t) ⇒ - f.value match { - case Some(Success(m)) ⇒ m - case Some(Failure(ex)) ⇒ throw new Exception("Flattened materialized value failed!", ex) - case None ⇒ - // last resort, await - val start = System.currentTimeMillis() - val mat = Await.result(f, t) - val stop = System.currentTimeMillis() - import scala.concurrent.duration._ - println(s"Waiting took: >>> ${PrettyDuration.format((stop - start).millis)} <<<") - mat - } - - case mat: Mat ⇒ mat - } + matValueStack.peekLast().asInstanceOf[Mat] } finally { if (isShutdown) throw shutdownWhileMaterializingFailure diff --git a/akka-stream/src/main/scala/akka/stream/impl/Stages.scala b/akka-stream/src/main/scala/akka/stream/impl/Stages.scala index 8e79282e15..f3ce424bd2 100644 --- a/akka-stream/src/main/scala/akka/stream/impl/Stages.scala +++ b/akka-stream/src/main/scala/akka/stream/impl/Stages.scala @@ -125,7 +125,6 @@ import akka.stream._ val fanoutPublisherSink = name("fanoutPublisherSink") val ignoreSink = name("ignoreSink") val actorRefSink = name("actorRefSink") - val futureFlattenSink = name("futureFlattenSink") val actorRefWithAck = name("actorRefWithAckSink") val actorSubscriberSink = name("actorSubscriberSink") val queueSink = name("queueSink") diff --git a/akka-stream/src/main/scala/akka/stream/impl/TraversalBuilder.scala b/akka-stream/src/main/scala/akka/stream/impl/TraversalBuilder.scala index 601265c8ac..a9f99c9f6c 100644 --- a/akka-stream/src/main/scala/akka/stream/impl/TraversalBuilder.scala +++ b/akka-stream/src/main/scala/akka/stream/impl/TraversalBuilder.scala @@ -13,8 +13,6 @@ import akka.util.OptionVal import scala.language.existentials import scala.collection.immutable.Map.Map1 -import scala.concurrent.duration.FiniteDuration -import scala.concurrent.{ Await, Future } /** * INTERNAL API @@ -156,12 +154,6 @@ import scala.concurrent.{ Await, Future } @InternalApi private[akka] final case class Transform(mapper: AnyFunction1) extends MaterializedValueOp { def apply(arg: Any): Any = mapper.asInstanceOf[Any ⇒ Any](arg) } -/** - * INTERNAL API - */ -@InternalApi private[akka] final case class FlattenMat(timeout: FiniteDuration) extends MaterializedValueOp -/** INTERNAL API */ -@InternalApi private[akka] final case class FlattenMatHolder[M](f: Future[M], timeout: FiniteDuration) /** * INTERNAL API @@ -373,8 +365,6 @@ import scala.concurrent.{ Await, Future } */ def transformMat(f: AnyFunction1): TraversalBuilder - def flattenMat(timeout: FiniteDuration): TraversalBuilder - protected def internalSetAttributes(attributes: Attributes): TraversalBuilder def setAttributes(attributes: Attributes): TraversalBuilder = { @@ -490,9 +480,6 @@ import scala.concurrent.{ Await, Future } override def transformMat(f: AnyFunction1): TraversalBuilder = copy(traversalSoFar = traversalSoFar.concat(Transform(f))) - override def flattenMat(timeout: FiniteDuration): TraversalBuilder = - copy(traversalSoFar = traversalSoFar.concat(FlattenMat(timeout))) - override def offsetOf(in: InPort): Int = inToOffset(in) override def isTraversalComplete: Boolean = true @@ -545,9 +532,6 @@ import scala.concurrent.{ Await, Future } override def transformMat(f: AnyFunction1): TraversalBuilder = TraversalBuilder.empty().add(this, module.shape, Keep.right).transformMat(f) - override def flattenMat(timeout: FiniteDuration): TraversalBuilder = - TraversalBuilder.empty().add(this, module.shape, Keep.right).flattenMat(timeout) - override val inSlots: Int = module.shape.inlets.size override def offsetOfModule(out: OutPort): Int = 0 @@ -1066,15 +1050,6 @@ import scala.concurrent.{ Await, Future } copy(traversalSoFar = traversalSoFar.concat(Transform(f))) } - /** - * UNSAFE API: May cause blocking DURING MATERIALIZATION. - * Use this API only in places where it is KNOWN that the flattened Future will be completed ASAP (less than a few ms, zero at best). - * WITH GREAT POWER, COMES GREAT RESPONSIBILITY. - */ - override def flattenMat(timeout: FiniteDuration): LinearTraversalBuilder = { - copy(traversalSoFar = traversalSoFar.concat(FlattenMat(timeout))) - } - /** * Wraps the builder in an island that can be materialized differently, using async boundaries to bridge * between islands. @@ -1326,9 +1301,6 @@ import scala.concurrent.{ Await, Future } override def transformMat(f: AnyFunction1): TraversalBuilder = { copy(finalSteps = finalSteps.concat(Transform(f))) } - override def flattenMat(timeout: FiniteDuration): TraversalBuilder = { - copy(finalSteps = finalSteps.concat(FlattenMat(timeout))) - } override def makeIsland(islandTag: IslandTag): TraversalBuilder = { this.islandTag match { diff --git a/akka-stream/src/main/scala/akka/stream/impl/fusing/GraphStages.scala b/akka-stream/src/main/scala/akka/stream/impl/fusing/GraphStages.scala index c76ad1b98e..9a979c5d14 100644 --- a/akka-stream/src/main/scala/akka/stream/impl/fusing/GraphStages.scala +++ b/akka-stream/src/main/scala/akka/stream/impl/fusing/GraphStages.scala @@ -371,90 +371,6 @@ import scala.util.control.NonFatal override def toString: String = "FutureFlattenSource" } - // final class FutureFlattenSink[T, M](futureSink: Future[Graph[SinkShape[T], M]]) - // extends GraphStageWithMaterializedValue[SinkShape[T], Future[M]] { - // ReactiveStreamsCompliance.requireNonNullElement(futureSink) - // - // val in: Inlet[T] = Inlet("FutureFlattenSink.in") - // override val shape = SinkShape(in) - // - // override def initialAttributes = DefaultAttributes.futureFlattenSink - // - // override def createLogicAndMaterializedValue(attr: Attributes): (GraphStageLogic, Future[M]) = { - // val materialized = Promise[M]() - // - // val logic = new GraphStageLogic(shape) with InHandler with OutHandler { - // private val sourceOut = new SubSourceOutlet[T]("FutureFlattenSink.out") - // - // override def preStart(): Unit = - // futureSink.value match { - // case Some(it) ⇒ - // // this optimisation avoids going through any execution context, in similar vein to FastFuture - // onFutureSinkCompleted(it) - // case _ ⇒ - // val cb = getAsyncCallback[Try[Graph[SinkShape[T], M]]](onFutureSinkCompleted).invoke _ - // futureSink.onComplete(cb)(ExecutionContexts.sameThreadExecutionContext) // could be optimised FastFuture-like - // } - // - // // initial handler (until future completes) - // setHandler(in, new InHandler { - // override def onPush(): Unit = grab(it) - // - //// def onPull(): Unit = {} - //// - //// override def onDownstreamFinish(): Unit = { - //// if (!materialized.isCompleted) { - //// // we used to try to materialize the "inner" source here just to get - //// // the materialized value, but that is not safe and may cause the graph shell - //// // to leak/stay alive after the stage completes - //// - //// materialized.tryFailure(new StreamDetachedException("Stream cancelled before Source Future completed")) - //// } - //// - //// super.onDownstreamFinish() - //// } - //}) - // - // def onPush(): Unit = - // push(out, sourceOut.grab()) - // - // def onPull(): Unit = - // sourceOut.pull() - // - // override def onUpstreamFinish(): Unit = - // completeStage() - // - // override def postStop(): Unit = - // if (!sourceOut.isClosed) sourceOut.cancel() - // - // def onFutureSinkCompleted(result: Try[Graph[SinkShape[T], M]]): Unit = { - // result.map { graph ⇒ - // val runnable = Sink.fromGraph(graph).toMat(sourceOut.sink)(Keep.left) - // val matVal = interpreter.subFusingMaterializer.materialize(runnable, defaultAttributes = attr) - // materialized.success(matVal) - // - // setHandler(out, this) - // sourceOut.setHandler(this) - // - // if (isAvailable(out)) { - // sourceOut.pull() - // } - // - // }.recover { - // case t ⇒ - // sourceOut.cancel() - // materialized.failure(t) - // failStage(t) - // } - // } - // } - // - // (logic, materialized.future) - // } - // - // override def toString: String = "FutureFlattenSource" - // } - final class FutureSource[T](val future: Future[T]) extends GraphStage[SourceShape[T]] { ReactiveStreamsCompliance.requireNonNullElement(future) val shape = SourceShape(Outlet[T]("FutureSource.out")) diff --git a/akka-stream/src/main/scala/akka/stream/impl/streamref/MaterializedSinkRef.scala b/akka-stream/src/main/scala/akka/stream/impl/streamref/MaterializedSinkRef.scala deleted file mode 100644 index ecbb496012..0000000000 --- a/akka-stream/src/main/scala/akka/stream/impl/streamref/MaterializedSinkRef.scala +++ /dev/null @@ -1,47 +0,0 @@ -///** -// * Copyright (C) 2018 Lightbend Inc. -// */ -//package akka.stream.impl.streamref -// -//import akka.NotUsed -//import akka.annotation.InternalApi -//import akka.stream.{ SinkRef, javadsl } -//import akka.stream.scaladsl.{ Sink, Source } -// -//import scala.concurrent.{ Await, Future } -//import scala.util.{ Failure, Success } -//import scala.concurrent.duration._ -// -///** -// * INTERNAL API -// * Allows users to directly use the SinkRef, even though we do have to go through the Future in order to be able -// * to materialize it. Since we initialize the ref from within the GraphStageLogic. See [[SinkRefStageImpl]] for usage. -// */ -//@InternalApi -//private[akka] final case class MaterializedSinkRef[In](futureSink: Future[SinkRefImpl[In]]) extends SinkRef[In] { -// -// override def sink: Sink[In, NotUsed] = -// futureSink.value match { -// -// case Some(Success(ready)) ⇒ -// // the normal case, since once materialization finishes, the future is guaranteed to have been completed -// ready.sink -// -// case Some(Failure(cause)) ⇒ -// // materialization failed -// Sink.cancelled -// -// case None ⇒ -// ??? -// // not yet materialized, awaiting the preStart to be run... -// // Source.fromFutureSource(futureSource.map(ref => ref.source)(ex)).mapMaterializedValue(_ ⇒ NotUsed) -// } -// -// override def toString: String = -// futureSink.value match { -// case None ⇒ s"SinkRef()" -// case Some(Success(ready)) ⇒ ready.toString -// case Some(Failure(ex)) ⇒ s"SinkRef()" -// } -// -//} diff --git a/akka-stream/src/main/scala/akka/stream/impl/streamref/MaterializedSourceRef.scala b/akka-stream/src/main/scala/akka/stream/impl/streamref/MaterializedSourceRef.scala deleted file mode 100644 index 8d606c4011..0000000000 --- a/akka-stream/src/main/scala/akka/stream/impl/streamref/MaterializedSourceRef.scala +++ /dev/null @@ -1,79 +0,0 @@ -///** -// * Copyright (C) 2018 Lightbend Inc. -// */ -//package akka.stream.impl.streamref -// -//import java.util.concurrent.atomic.AtomicReference -// -//import akka.NotUsed -//import akka.actor.ActorRef -//import akka.annotation.InternalApi -//import akka.stream.scaladsl.Source -//import akka.stream.{ OverflowStrategy, SourceRef, javadsl } -// -//import scala.concurrent.{ ExecutionContext, Future } -//import scala.util.{ Failure, Success } -// -///** -// * INTERNAL API -// * Allows users to directly use the SourceRef, even though we do have to go through the Future in order to be able -// * to materialize it. Since we initialize the ref from within the GraphStageLogic. See [[SourceRefStageImpl]] for usage. -// */ -//@InternalApi -//private[akka] final case class MaterializedSourceRef[Out](futureSource: Future[SourceRefImpl[Out]]) extends SourceRef[Out] { -// -// class State -// final case class Initializing(buffer: Vector[Out]) extends State -// final case class Initialized(ref: SourceRefImpl[Out]) extends State -// -// val it = new AtomicReference[State](Initializing(Vector.empty)) -// -// // the advanced logic here is in order to allow RUNNING a stream locally ASAP even while materialization is still in-flight (preStart has not completed futureSource) -// override def source: Source[Out, NotUsed] = -// futureSource.value match { -// -// case Some(Success(ready)) ⇒ -// // the normal case, since once materialization finishes, the future is guaranteed to have been completed -// ready.source -// -// case Some(Failure(cause)) ⇒ -// // materialization failed -// Source.failed(cause).named("SourceRef") -// -// case None ⇒ -// // not yet materialized -- in reality this case should not happen, since once materialization is finished, this Future is already completed -// // this impl is kept in case materialization semantics would change for some reason -// Source.fromFutureSource(futureSource.map(ref ⇒ ref.source)(akka.dispatch.ExecutionContexts.sameThreadExecutionContext)).mapMaterializedValue(_ ⇒ NotUsed) -// } -// -// // def forSerializationRef: SourceRef[Out] = -// // futureSource.value match { -// // case Some(Success(ready)) ⇒ -// // // the normal case, since once materialization finishes, the future is guaranteed to have been completed -// // ready -// // -// // case Some(Failure(cause)) ⇒ -// // throw new IllegalStateException("Illegal serialization attempt, this stream has never materialized the SourceRef!", cause) -// // -// // case None ⇒ -// // // preStart has not finished yet, so we need to create and serialize a proxy ref -// // val proxy = mkProxy() -// // -// // new SourceRef[Out] { -// // override def source: Source[Out, NotUsed] = -// // ??? -// // } -// // } -// -// override def toString: String = -// futureSource.value match { -// case None ⇒ s"SourceRef()" -// case Some(Success(ready)) ⇒ ready.toString -// case Some(Failure(ex)) ⇒ s"SourceRef()" -// } -// -//} -// -//case class BufferedRef() { -// -//} diff --git a/akka-stream/src/main/scala/akka/stream/impl/streamref/SinkRefImpl.scala b/akka-stream/src/main/scala/akka/stream/impl/streamref/SinkRefImpl.scala index 575de4eb4c..409811d898 100644 --- a/akka-stream/src/main/scala/akka/stream/impl/streamref/SinkRefImpl.scala +++ b/akka-stream/src/main/scala/akka/stream/impl/streamref/SinkRefImpl.scala @@ -106,6 +106,7 @@ private[stream] final class SinkRefStageImpl[In] private[akka] ( s"Local stream terminating, message loss (on remote side) may have happened.")) case (sender, StreamRefsProtocol.CumulativeDemand(d)) ⇒ + // the other side may attempt to "double subscribe", which we want to fail eagerly since we're 1:1 pairings observeAndValidateSender(sender, "Illegal sender for CumulativeDemand") if (remoteCumulativeDemandReceived < d) { @@ -154,6 +155,7 @@ private[stream] final class SinkRefStageImpl[In] private[akka] ( case _ ⇒ completedBeforeRemoteConnected = OptionVal(scala.util.Failure(ex)) // not terminating on purpose, since other side may subscribe still and then we want to fail it + // the stage will be terminated either by timeout, or by the handling in `observeAndValidateSender` setKeepGoing(true) } diff --git a/akka-stream/src/main/scala/akka/stream/impl/streamref/StreamRefSettingsImpl.scala b/akka-stream/src/main/scala/akka/stream/impl/streamref/StreamRefSettingsImpl.scala index 15a8d407ab..cf8790b56f 100644 --- a/akka-stream/src/main/scala/akka/stream/impl/streamref/StreamRefSettingsImpl.scala +++ b/akka-stream/src/main/scala/akka/stream/impl/streamref/StreamRefSettingsImpl.scala @@ -18,7 +18,7 @@ private[akka] final case class StreamRefSettingsImpl private ( ) extends StreamRefSettings { override def withBufferCapacity(value: Int): StreamRefSettings = copy(bufferCapacity = value) - override def withDemandRedeliveryInterval(value: scala.concurrent.duration.FiniteDuration): StreamRefSettings = copy(demandRedeliveryInterval = value) + override def withDemandRedeliveryInterval(value: FiniteDuration): StreamRefSettings = copy(demandRedeliveryInterval = value) override def withSubscriptionTimeout(value: FiniteDuration): StreamRefSettings = copy(subscriptionTimeout = value) override def productPrefix: String = Logging.simpleName(classOf[StreamRefSettings]) diff --git a/akka-stream/src/main/scala/akka/stream/impl/streamref/StreamRefsMaster.scala b/akka-stream/src/main/scala/akka/stream/impl/streamref/StreamRefsMaster.scala index c6d4079050..0249d766c5 100644 --- a/akka-stream/src/main/scala/akka/stream/impl/streamref/StreamRefsMaster.scala +++ b/akka-stream/src/main/scala/akka/stream/impl/streamref/StreamRefsMaster.scala @@ -32,16 +32,6 @@ private[stream] final class StreamRefsMaster(system: ExtendedActorSystem) extend private[this] val sourceRefStageNames = SeqActorName("SourceRef") // "local target" private[this] val sinkRefStageNames = SeqActorName("SinkRef") // "remote sender" - // // needed because serialization may want to serialize a ref, before we have finished materialization - // def bufferedRefFor[T](allocatedName: String, future: Future[SourceRefImpl[T]]): SourceRef[T] = { - // def mkProxyOnDemand(): ActorRef = { - // log.warning("HAVE TO CREATE PROXY!!!") - // val proxyName = allocatedName + "Proxy" - // system.actorOf(Props(new ProxyRefFor(future)), proxyName) - // } - // MaterializedSourceRef[T](future) - // } - // TODO introduce a master with which all stages running the streams register themselves? def nextSourceRefStageName(): String = @@ -51,29 +41,3 @@ private[stream] final class StreamRefsMaster(system: ExtendedActorSystem) extend sinkRefStageNames.next() } - -/** INTERNAL API */ -@InternalApi -private[akka] final class ProxyRefFor[T](futureRef: Future[SourceRefImpl[T]]) extends Actor with Stash with ActorLogging { - import context.dispatcher - import akka.pattern.pipe - - override def preStart(): Unit = { - futureRef.pipeTo(self) - } - - override def receive: Receive = { - case ref: SourceRefImpl[T] ⇒ - log.warning("REF:::: initial = " + ref.initialPartnerRef) - context become initialized(ref) - unstashAll() - - case msg ⇒ - log.warning("Stashing [{}], since target reference is still not initialized...", msg.getClass) - stash() - } - - def initialized(ref: SourceRefImpl[T]): Receive = { - case any ⇒ ??? - } -} diff --git a/akka-stream/src/main/scala/akka/stream/javadsl/Flow.scala b/akka-stream/src/main/scala/akka/stream/javadsl/Flow.scala index 63cb82ba1d..680acfbced 100644 --- a/akka-stream/src/main/scala/akka/stream/javadsl/Flow.scala +++ b/akka-stream/src/main/scala/akka/stream/javadsl/Flow.scala @@ -16,8 +16,6 @@ import akka.japi.Util import java.util.Comparator import java.util.concurrent.CompletionStage -import akka.annotation.InternalApi - import scala.compat.java8.FutureConverters._ object Flow { @@ -221,13 +219,6 @@ final class Flow[-In, +Out, +Mat](delegate: scaladsl.Flow[In, Out, Mat]) extends def mapMaterializedValue[Mat2](f: function.Function[Mat, Mat2]): Flow[In, Out, Mat2] = new Flow(delegate.mapMaterializedValue(f.apply _)) - /** - * INTERNAL API: Unsafe BLOCKING flattening if current materialized value is a Future. - */ - @InternalApi - private[akka] def flattenMaterializedValue[Mat2](timeout: FiniteDuration): Flow[In, Out, Mat2] = - new Flow(delegate.flattenMaterializedValue(timeout)) - /** * Transform this [[Flow]] by appending the given processing steps. * {{{ diff --git a/akka-stream/src/main/scala/akka/stream/javadsl/Sink.scala b/akka-stream/src/main/scala/akka/stream/javadsl/Sink.scala index a060c6be21..20c482dcf6 100644 --- a/akka-stream/src/main/scala/akka/stream/javadsl/Sink.scala +++ b/akka-stream/src/main/scala/akka/stream/javadsl/Sink.scala @@ -18,10 +18,7 @@ import scala.concurrent.ExecutionContext import scala.util.Try import java.util.concurrent.CompletionStage -import akka.annotation.InternalApi - import scala.compat.java8.FutureConverters._ -import scala.concurrent.duration.FiniteDuration /** Java API */ object Sink { @@ -281,18 +278,6 @@ object Sink { new Sink(scaladsl.Sink.lazyInit[T, M]( t ⇒ sinkFactory.apply(t).toScala.map(_.asScala)(ExecutionContexts.sameThreadExecutionContext), () ⇒ fallback.create()).mapMaterializedValue(_.toJava)) - - /** - * A local [[Sink]] which materializes a [[SourceRef]] which can be used by other streams (including remote ones), - * to consume data from this local stream, as if they were attached in the spot of the local Sink directly. - * - * Adheres to [[StreamRefAttributes]]. - * - * See more detailed documentation on [[SourceRef]]. - */ - - def sourceRef[T](): javadsl.Sink[T, SourceRef[T]] = - scaladsl.Sink.sourceRef[T]().asJava } /** @@ -336,13 +321,6 @@ final class Sink[-In, +Mat](delegate: scaladsl.Sink[In, Mat]) extends Graph[Sink def mapMaterializedValue[Mat2](f: function.Function[Mat, Mat2]): Sink[In, Mat2] = new Sink(delegate.mapMaterializedValue(f.apply _)) - /** - * INTERNAL API: Unsafe BLOCKING flattening if current materialized value is a Future. - */ - @InternalApi - private[akka] def flattenMaterializedValue[Mat2](timeout: FiniteDuration): Sink[In, Mat2] = - new Sink(delegate.flattenMaterializedValue[Mat2](timeout)) - /** * Replace the attributes of this [[Sink]] with the given ones. If this Sink is a composite * of multiple graphs, new attributes on the composite will be less specific than attributes diff --git a/akka-stream/src/main/scala/akka/stream/javadsl/Source.scala b/akka-stream/src/main/scala/akka/stream/javadsl/Source.scala index f94555de2a..3ba09913a6 100644 --- a/akka-stream/src/main/scala/akka/stream/javadsl/Source.scala +++ b/akka-stream/src/main/scala/akka/stream/javadsl/Source.scala @@ -26,7 +26,6 @@ import java.util.concurrent.CompletionStage import java.util.concurrent.CompletableFuture import akka.annotation.InternalApi -import akka.stream.scaladsl.Sink import scala.compat.java8.FutureConverters._ @@ -446,16 +445,6 @@ object Source { (s: S) ⇒ read.apply(s).toScala.map(_.asScala)(akka.dispatch.ExecutionContexts.sameThreadExecutionContext), (s: S) ⇒ close.apply(s).toScala)) - /** - * A local [[Sink]] which materializes a [[SourceRef]] which can be used by other streams (including remote ones), - * to consume data from this local stream, as if they were attached in the spot of the local Sink directly. - * - * Adheres to [[StreamRefAttributes]]. - * - * See more detailed documentation on [[SinkRef]]. - */ - def sinkRef[T](): javadsl.Source[T, SinkRef[T]] = - scaladsl.Source.sinkRef[T]().asJava } /** @@ -485,13 +474,6 @@ final class Source[+Out, +Mat](delegate: scaladsl.Source[Out, Mat]) extends Grap def mapMaterializedValue[Mat2](f: function.Function[Mat, Mat2]): Source[Out, Mat2] = new Source(delegate.mapMaterializedValue(f.apply _)) - /** - * INTERNAL API: Unsafe BLOCKING flattening if current materialized value is a Future. - */ - @InternalApi - private[akka] def flattenMaterializedValue[Mat2](timeout: FiniteDuration): Source[Out, Mat2] = - new Source(delegate.flattenMaterializedValue[Mat2](timeout)) - /** * Transform this [[Source]] by appending the given processing stages. * {{{ diff --git a/akka-stream/src/main/scala/akka/stream/javadsl/StreamRefs.scala b/akka-stream/src/main/scala/akka/stream/javadsl/StreamRefs.scala new file mode 100644 index 0000000000..6563305825 --- /dev/null +++ b/akka-stream/src/main/scala/akka/stream/javadsl/StreamRefs.scala @@ -0,0 +1,46 @@ +/** + * Copyright (C) 2018 Lightbend Inc. + */ +package akka.stream.javadsl + +import java.util.concurrent.CompletionStage + +import akka.annotation.ApiMayChange +import akka.stream._ + +/** + * API MAY CHANGE: The functionality of stream refs is working, however it is expected that the materialized value + * will eventually be able to remove the Future wrapping the stream references. For this reason the API is now marked + * as API may change. See ticket https://github.com/akka/akka/issues/24372 for more details. + * + * Factories for creating stream refs. + */ +@ApiMayChange +object StreamRefs { + import scala.compat.java8.FutureConverters._ + + /** + * A local [[Sink]] which materializes a [[SourceRef]] which can be used by other streams (including remote ones), + * to consume data from this local stream, as if they were attached in the spot of the local Sink directly. + * + * Adheres to [[StreamRefAttributes]]. + * + * See more detailed documentation on [[SourceRef]]. + */ + @ApiMayChange + def sourceRef[T](): javadsl.Sink[T, CompletionStage[SourceRef[T]]] = + scaladsl.StreamRefs.sourceRef[T]().mapMaterializedValue(_.toJava).asJava + + /** + * A local [[Sink]] which materializes a [[SourceRef]] which can be used by other streams (including remote ones), + * to consume data from this local stream, as if they were attached in the spot of the local Sink directly. + * + * Adheres to [[StreamRefAttributes]]. + * + * See more detailed documentation on [[SinkRef]]. + */ + @ApiMayChange + def sinkRef[T](): javadsl.Source[T, CompletionStage[SinkRef[T]]] = + scaladsl.StreamRefs.sinkRef[T]().mapMaterializedValue(_.toJava).asJava + +} diff --git a/akka-stream/src/main/scala/akka/stream/scaladsl/Flow.scala b/akka-stream/src/main/scala/akka/stream/scaladsl/Flow.scala index 405e5cdf19..47b749bd68 100644 --- a/akka-stream/src/main/scala/akka/stream/scaladsl/Flow.scala +++ b/akka-stream/src/main/scala/akka/stream/scaladsl/Flow.scala @@ -19,7 +19,7 @@ import scala.concurrent.duration.FiniteDuration import scala.language.higherKinds import akka.stream.impl.fusing.FlattenMerge import akka.NotUsed -import akka.annotation.{ DoNotInherit, InternalApi } +import akka.annotation.DoNotInherit /** * A `Flow` is a set of stream processing steps that has one open input and one open output. @@ -114,15 +114,6 @@ final class Flow[-In, +Out, +Mat]( traversalBuilder.transformMat(f), shape) - /** - * INTERNAL API: Unsafe BLOCKING flattening if current materialized value is a Future. - */ - @InternalApi - private[akka] override def flattenMaterializedValue[Mat2](timeout: FiniteDuration): ReprMat[Out, Mat2] = - new Flow( - traversalBuilder.flattenMat(timeout), - shape) - /** * Join this [[Flow]] to another [[Flow]], by cross connecting the inputs and outputs, creating a [[RunnableGraph]]. * {{{ @@ -2565,12 +2556,6 @@ trait FlowOpsMat[+Out, +Mat] extends FlowOps[Out, Mat] { */ def mapMaterializedValue[Mat2](f: Mat ⇒ Mat2): ReprMat[Out, Mat2] - /** - * INTERNAL API: Unsafe BLOCKING flattening if current materialized value is a Future. - */ - @InternalApi - private[akka] def flattenMaterializedValue[Mat2](timeout: FiniteDuration): ReprMat[Out, Mat2] - /** * Materializes to `FlowMonitor[Out]` that allows monitoring of the current flow. All events are propagated * by the monitor unchanged. Note that the monitor inserts a memory barrier every time it processes an diff --git a/akka-stream/src/main/scala/akka/stream/scaladsl/Sink.scala b/akka-stream/src/main/scala/akka/stream/scaladsl/Sink.scala index b6dae63914..de29f07f95 100644 --- a/akka-stream/src/main/scala/akka/stream/scaladsl/Sink.scala +++ b/akka-stream/src/main/scala/akka/stream/scaladsl/Sink.scala @@ -6,21 +6,17 @@ package akka.stream.scaladsl import akka.{ Done, NotUsed } import akka.dispatch.ExecutionContexts import akka.actor.{ ActorRef, Props, Status } -import akka.annotation.InternalApi import akka.stream.actor.ActorSubscriber import akka.stream.impl.Stages.DefaultAttributes import akka.stream.impl._ import akka.stream.impl.fusing.GraphStages -import akka.stream.impl.streamref.{ SinkRefStageImpl, SourceRefStageImpl } import akka.stream.stage._ import akka.stream.{ javadsl, _ } -import akka.util.OptionVal import org.reactivestreams.{ Publisher, Subscriber } import scala.annotation.tailrec import scala.collection.generic.CanBuildFrom import scala.collection.immutable -import scala.concurrent.duration.FiniteDuration import scala.concurrent.{ ExecutionContext, Future } import scala.util.{ Failure, Success, Try } @@ -61,15 +57,6 @@ final class Sink[-In, +Mat]( traversalBuilder.transformMat(f.asInstanceOf[Any ⇒ Any]), shape) - /** - * INTERNAL API: Unsafe BLOCKING flattening if current materialized value is a Future. - */ - @InternalApi - private[akka] def flattenMaterializedValue[Mat2](timeout: FiniteDuration): Sink[In, Mat2] = - new Sink( - traversalBuilder.flattenMat(timeout), - shape) - /** * Replace the attributes of this [[Sink]] with the given ones. If this Sink is a composite * of multiple graphs, new attributes on the composite will be less specific than attributes @@ -464,18 +451,4 @@ object Sink { def lazyInit[T, M](sinkFactory: T ⇒ Future[Sink[T, M]], fallback: () ⇒ M): Sink[T, Future[M]] = Sink.fromGraph(new LazySink(sinkFactory, fallback)) - /** - * A local [[Sink]] which materializes a [[SourceRef]] which can be used by other streams (including remote ones), - * to consume data from this local stream, as if they were attached in the spot of the local Sink directly. - * - * Adheres to [[StreamRefAttributes]]. - * - * See more detailed documentation on [[SourceRef]]. - */ - def sourceRef[T](): Sink[T, SourceRef[T]] = { - import scala.concurrent.duration._ - val sink = Sink.fromGraph(new SinkRefStageImpl[T](OptionVal.None)) - sink.flattenMaterializedValue[SourceRef[T]](10.seconds) - } - } diff --git a/akka-stream/src/main/scala/akka/stream/scaladsl/Source.scala b/akka-stream/src/main/scala/akka/stream/scaladsl/Source.scala index 007b0d6048..1cf78b5383 100644 --- a/akka-stream/src/main/scala/akka/stream/scaladsl/Source.scala +++ b/akka-stream/src/main/scala/akka/stream/scaladsl/Source.scala @@ -5,16 +5,12 @@ package akka.stream.scaladsl import java.util.concurrent.CompletionStage -import akka.util.ConstantFun -import akka.{ Done, NotUsed } import akka.actor.{ ActorRef, Cancellable, Props } -import akka.annotation.InternalApi import akka.stream.actor.ActorPublisher import akka.stream.impl.Stages.DefaultAttributes import akka.stream.impl.fusing.GraphStages import akka.stream.impl.fusing.GraphStages._ import akka.stream.impl.{ PublisherSource, _ } -import akka.stream.stage.GraphStageWithMaterializedValue import akka.stream.{ Outlet, SourceShape, _ } import akka.util.ConstantFun import akka.{ Done, NotUsed } @@ -23,12 +19,9 @@ import org.reactivestreams.{ Publisher, Subscriber } import scala.annotation.tailrec import scala.annotation.unchecked.uncheckedVariance import scala.collection.immutable -import scala.compat.java8.FutureConverters._ import scala.concurrent.duration.FiniteDuration import scala.concurrent.{ Future, Promise } -import akka.stream.impl.streamref.SourceRefStageImpl -import akka.stream.stage.{ GraphStage, GraphStageWithMaterializedValue } -import akka.util.OptionVal +import akka.stream.stage.GraphStageWithMaterializedValue import scala.compat.java8.FutureConverters._ @@ -93,13 +86,6 @@ final class Source[+Out, +Mat]( override def mapMaterializedValue[Mat2](f: Mat ⇒ Mat2): ReprMat[Out, Mat2] = new Source[Out, Mat2](traversalBuilder.transformMat(f.asInstanceOf[Any ⇒ Any]), shape) - /** - * INTERNAL API: Unsafe BLOCKING flattening if current materialized value is a Future. - */ - @InternalApi - private[akka] override def flattenMaterializedValue[Mat2](timeout: FiniteDuration): ReprMat[Out, Mat2] = - new Source[Out, Mat2](traversalBuilder.flattenMat(timeout), shape) - /** * Connect this `Source` to a `Sink` and run it. The returned value is the materialized value * of the `Sink`, e.g. the `Publisher` of a [[akka.stream.scaladsl.Sink#publisher]]. @@ -617,17 +603,4 @@ object Source { def unfoldResourceAsync[T, S](create: () ⇒ Future[S], read: (S) ⇒ Future[Option[T]], close: (S) ⇒ Future[Done]): Source[T, NotUsed] = Source.fromGraph(new UnfoldResourceSourceAsync(create, read, close)) - /** - * A local [[Sink]] which materializes a [[SourceRef]] which can be used by other streams (including remote ones), - * to consume data from this local stream, as if they were attached in the spot of the local Sink directly. - * - * Adheres to [[StreamRefAttributes]]. - * - * See more detailed documentation on [[SinkRef]]. - */ - def sinkRef[T](): Source[T, SinkRef[T]] = { - import scala.concurrent.duration._ - val value: Source[T, Future[SinkRef[T]]] = Source.fromGraph(new SourceRefStageImpl[T](OptionVal.None)) - value.flattenMaterializedValue[SinkRef[T]](1.second) - } } diff --git a/akka-stream/src/main/scala/akka/stream/scaladsl/StreamRefs.scala b/akka-stream/src/main/scala/akka/stream/scaladsl/StreamRefs.scala new file mode 100644 index 0000000000..ee38b01b6e --- /dev/null +++ b/akka-stream/src/main/scala/akka/stream/scaladsl/StreamRefs.scala @@ -0,0 +1,46 @@ +/** + * Copyright (C) 2018 Lightbend Inc. + */ +package akka.stream.scaladsl + +import akka.annotation.ApiMayChange +import akka.stream.{ SinkRef, SourceRef, StreamRefAttributes } +import akka.stream.impl.streamref.{ SinkRefStageImpl, SourceRefStageImpl } +import akka.util.OptionVal + +import scala.concurrent.Future + +/** + * API MAY CHANGE: The functionality of stream refs is working, however it is expected that the materialized value + * will eventually be able to remove the Future wrapping the stream references. For this reason the API is now marked + * as API may change. See ticket https://github.com/akka/akka/issues/24372 for more details. + * + * Factories for creating stream refs. + */ +@ApiMayChange +object StreamRefs { + + /** + * A local [[Sink]] which materializes a [[SourceRef]] which can be used by other streams (including remote ones), + * to consume data from this local stream, as if they were attached in the spot of the local Sink directly. + * + * Adheres to [[StreamRefAttributes]]. + * + * See more detailed documentation on [[SourceRef]]. + */ + @ApiMayChange + def sourceRef[T](): Sink[T, Future[SourceRef[T]]] = + Sink.fromGraph(new SinkRefStageImpl[T](OptionVal.None)) + + /** + * A local [[Sink]] which materializes a [[SourceRef]] which can be used by other streams (including remote ones), + * to consume data from this local stream, as if they were attached in the spot of the local Sink directly. + * + * Adheres to [[StreamRefAttributes]]. + * + * See more detailed documentation on [[SinkRef]]. + */ + @ApiMayChange + def sinkRef[T](): Source[T, Future[SinkRef[T]]] = + Source.fromGraph(new SourceRefStageImpl[T](OptionVal.None)) +} diff --git a/akka-stream/src/main/scala/akka/stream/stage/GraphStage.scala b/akka-stream/src/main/scala/akka/stream/stage/GraphStage.scala index 156e739f9f..3fa1b8ee32 100644 --- a/akka-stream/src/main/scala/akka/stream/stage/GraphStage.scala +++ b/akka-stream/src/main/scala/akka/stream/stage/GraphStage.scala @@ -186,6 +186,15 @@ object GraphStageLogic { initialReceive: StageActorRef.Receive, name: String) { + // not really needed, but let's keep MiMa happy + def this( + materializer: akka.stream.ActorMaterializer, + getAsyncCallback: StageActorRef.Receive ⇒ AsyncCallback[(ActorRef, Any)], + initialReceive: StageActorRef.Receive + ) { + this(materializer, getAsyncCallback, initialReceive, "") + } + private val callback = getAsyncCallback(internalReceive) private def cell = materializer.supervisor match { case ref: LocalActorRef ⇒ ref.underlying