I’m developing a ~15 service lagom project. I can debug a single service using
sbt run, but I can’t debug all of them together.
sbt runAll works fine. When I use
sbt -jvm-debug 5005 and then
runAll, I get exceptions flavored like:
[2018-07-05 13:59:33,787] [error] a.r.Remoting - Remoting error: [Startup timed out. This is usually related to actor system host setting or host name resolution misconfiguration.] [ akka.remote.RemoteTransportException: Startup timed out. This is usually related to actor system host setting or host name resolution misconfiguration. ... Caused by: java.util.concurrent.TimeoutException: Futures timed out after [10000 milliseconds] at scala.concurrent.impl.Promise$DefaultPromise.ready(Promise.scala:255) at scala.concurrent.impl.Promise$DefaultPromise.result(Promise.scala:259) at scala.concurrent.Await$.$anonfun$result$1(package.scala:215) at scala.concurrent.BlockContext$DefaultBlockContext$.blockOn(BlockContext.scala:53) at scala.concurrent.Await$.result(package.scala:142) at akka.remote.Remoting.start(Remoting.scala:193) ... 49 more
Roughly, the issue seems to be that Lagom/Akka/etc have a bunch of ~10000-ish second timeouts that implode because of the jvm debugger’s overhead.
Does anyone have a comprehensive set of configuration that makes this problem go away? When I started trying to chase down all of the different timeouts (remoting, read side processors, clustering, etc) that need to be tuned, I gave up.