diff --git a/akka-docs/src/main/paradox/project/migration-guide-2.5.x-2.6.x.md b/akka-docs/src/main/paradox/project/migration-guide-2.5.x-2.6.x.md index 89efd9a958..0d1d94ebbf 100644 --- a/akka-docs/src/main/paradox/project/migration-guide-2.5.x-2.6.x.md +++ b/akka-docs/src/main/paradox/project/migration-guide-2.5.x-2.6.x.md @@ -596,7 +596,7 @@ used for individual streams when they are materialized. | `streamRefSettings.demandRedeliveryInterval` | `StreamRefAttributes.demandRedeliveryInterval` | `akka.stream.materializer.stream-ref.demand-redelivery-interval` | | `streamRefSettings.subscriptionTimeout` | `StreamRefAttributes.subscriptionTimeout` | `akka.stream.materializer.stream-ref.subscription-timeout` | | `streamRefSettings.finalTerminationSignalDeadline` | `StreamRefAttributes.finalTerminationSignalDeadline` | `akka.stream.materializer.stream-ref.final-termination-signal-deadline` | -| `blockingIoDispatcher` | `ActorAttributes.blockingIoDispatcher` | `akka.stream.materializer.blocking-io-dispatcher` | +| `blockingIoDispatcher` | na | `akka.stream.materializer.blocking-io-dispatcher` | | `subscriptionTimeoutSettings.mode` | `ActorAttributes.streamSubscriptionTimeoutMode` | `akka.stream.materializer.subscription-timeout.mode` | | `subscriptionTimeoutSettings.timeout` | `ActorAttributes.streamSubscriptionTimeout` | `akka.stream.materializer.subscription-timeout.timeout` | diff --git a/akka-stream/src/main/scala/akka/stream/ActorMaterializer.scala b/akka-stream/src/main/scala/akka/stream/ActorMaterializer.scala index 666b31c8fe..7c027cde5d 100644 --- a/akka-stream/src/main/scala/akka/stream/ActorMaterializer.scala +++ b/akka-stream/src/main/scala/akka/stream/ActorMaterializer.scala @@ -779,8 +779,7 @@ final class ActorMaterializerSettings @InternalApi private ( ActorAttributes.OutputBurstLimit(outputBurstLimit) :: ActorAttributes.FuzzingMode(fuzzingMode) :: ActorAttributes.MaxFixedBufferSize(maxFixedBufferSize) :: - ActorAttributes.SyncProcessingLimit(syncProcessingLimit) :: - ActorAttributes.BlockingIoDispatcher(blockingIoDispatcher) :: Nil) + ActorAttributes.SyncProcessingLimit(syncProcessingLimit) :: Nil) override def toString: String = s"ActorMaterializerSettings($initialInputBufferSize,$maxInputBufferSize," + diff --git a/akka-stream/src/main/scala/akka/stream/Attributes.scala b/akka-stream/src/main/scala/akka/stream/Attributes.scala index e0e50cb7ae..e80c736799 100644 --- a/akka-stream/src/main/scala/akka/stream/Attributes.scala +++ b/akka-stream/src/main/scala/akka/stream/Attributes.scala @@ -588,12 +588,6 @@ object ActorAttributes { def syncProcessingLimit(limit: Int): Attributes = Attributes(SyncProcessingLimit(limit)) - /** - * FIXME Is this really needed anymore now that we have indirect dispatcher config? - */ - final case class BlockingIoDispatcher(dispatcher: String) extends MandatoryAttribute - def blockingIoDispatcher(dispatcher: String): Attributes = - Attributes(BlockingIoDispatcher(dispatcher)) } /** diff --git a/akka-stream/src/main/scala/akka/stream/impl/ActorMaterializerImpl.scala b/akka-stream/src/main/scala/akka/stream/impl/ActorMaterializerImpl.scala index 4f58de4dc8..3e0ea42bbf 100644 --- a/akka-stream/src/main/scala/akka/stream/impl/ActorMaterializerImpl.scala +++ b/akka-stream/src/main/scala/akka/stream/impl/ActorMaterializerImpl.scala @@ -57,11 +57,8 @@ import scala.concurrent.Future @InternalApi private[akka] override def actorOf(context: MaterializationContext, props: Props): ActorRef = { val effectiveProps = props.dispatcher match { case Dispatchers.DefaultDispatcherId => + // the caller said to use the default dispatcher, but that can been trumped by the dispatcher attribute props.withDispatcher(context.effectiveAttributes.mandatoryAttribute[ActorAttributes.Dispatcher].dispatcher) - case ActorAttributes.IODispatcher.dispatcher => - // this one is actually not a dispatcher but a relative config key pointing containing the actual dispatcher name - val actual = context.effectiveAttributes.mandatoryAttribute[ActorAttributes.BlockingIoDispatcher].dispatcher - props.withDispatcher(actual) case _ => props } 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 ac1a027bc0..e56048aef7 100644 --- a/akka-stream/src/main/scala/akka/stream/impl/PhasedFusingActorMaterializer.scala +++ b/akka-stream/src/main/scala/akka/stream/impl/PhasedFusingActorMaterializer.scala @@ -625,10 +625,6 @@ private final case class SavedIslandData( val effectiveProps = props.dispatcher match { case Dispatchers.DefaultDispatcherId => props.withDispatcher(context.effectiveAttributes.mandatoryAttribute[ActorAttributes.Dispatcher].dispatcher) - case ActorAttributes.IODispatcher.dispatcher => - // this one is actually not a dispatcher but a relative config key pointing containing the actual dispatcher name - // FIXME go via attributes here,or something - props.withDispatcher(settings.blockingIoDispatcher) case _ => props }