nearly done, only two known test failures
- moved typed actor factories to app/context (like actor factories) - fixed a few misplaced supervision changes, all such tests green now - actually test akka-reference.conf in ConfigSpec - made DispatcherActorSpec more deterministic (failed intermittently here, was due to race towards thread pool) - wrapped all actor initialization failures into ActorInitializationException and made sure that this leads to Stop - default to Stop on ActorKilledException - fixed ActorModelSpec to separately supervise the “waves of actors” because otherwise the app.guardian is way too busy processing all those ChildTerminated messages - change ActorCell._children from Vector[Stats] to TreeMap[ActorRef, Stats] for performance reasons, have not measured memory impact, yet - ensured that InterrupedException does not leave current thread via Failed message to supervisor (wrapped in ActorInterruptedException) - set core-size=1 and max-size=4 for default dispatcher during test
This commit is contained in:
parent
172ab31f2a
commit
3b698b9470
19 changed files with 149 additions and 155 deletions
|
|
@ -362,7 +362,7 @@ trait ScatterGatherRouter extends BasicRouter with Serializable {
|
|||
private def scatterGather[S, G >: S](message: Any, timeout: Timeout)(implicit sender: Option[ActorRef]): Future[G] = {
|
||||
val responses = connectionManager.connections.iterable.flatMap { actor ⇒
|
||||
try {
|
||||
if (actor.isShutdown) throw new ActorInitializationException("For compatability - check death first")
|
||||
if (actor.isShutdown) throw ActorInitializationException(actor, "For compatability - check death first", new Exception) // for stack trace
|
||||
Some(actor.?(message, timeout)(sender).asInstanceOf[Future[S]])
|
||||
} catch {
|
||||
case e: Exception ⇒
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue