typesafehub / conductr-lib

Other
8 stars 13 forks source link

Implements lagom14-xxx-conductr-lib #154

Closed ignasi35 closed 7 years ago

ignasi35 commented 7 years ago

This provides conductr support for lagom 1.4+ bundles in conductr.

ignasi35 commented 7 years ago

Just used this PR build locally to deploy https://github.com/lagom/online-auction-java/pull/100 All looks good.

ignasi35 commented 7 years ago

Hmm, online-auction-scala on the other hand won't start the lagom services because there's a port collision:


2017-06-28T14:50:18.280Z imslightbend.local INFO  Reaper [bundleId=b232f9e7c3f37956b13b3f3b4bf0f90c, sourceThread=conductr-agent-akka.actor.default-dispatcher-4, akkaTimestamp=14:50:18.280UTC, akkaSource=akka://conductr-agent/user/reaper, sourceActorSystem=conductr-agent] - [error] a.r.Remoting - Remoting error: [Startup failed] [
akka.remote.RemoteTransportException: Startup failed
        at akka.remote.Remoting.akka$remote$Remoting$$notifyError(Remoting.scala:146)
        at akka.remote.Remoting.start(Remoting.scala:212)
        at akka.remote.RemoteActorRefProvider.init(RemoteActorRefProvider.scala:212)
        at akka.cluster.ClusterActorRefProvider.init(ClusterActorRefProvider.scala:31)
        at akka.actor.ActorSystemImpl.liftedTree2$1(ActorSystem.scala:796)
        at akka.actor.ActorSystemImpl._start$lzycompute(ActorSystem.scala:793)
        at akka.actor.ActorSystemImpl._start(ActorSystem.scala:793)
        at akka.actor.ActorSystemImpl.start(ActorSystem.scala:809)
        at akka.actor.ActorSystem$.apply(ActorSystem.scala:244)
        at com.lightbend.lagom.scaladsl.server.ActorSystemProvider$.start(LagomApplicationLoader.scala:229)
        at com.lightbend.lagom.scaladsl.server.LagomApplication.actorSystem$lzycompute(LagomApplicationLoader.scala:199)
        at com.lightbend.lagom.scaladsl.server.LagomApplication.actorSystem(LagomApplicationLoader.scala:198)
        at play.api.BuiltInComponents$class.materializer(Application.scala:326)
        at play.api.BuiltInComponentsFromContext.materializer$lzycompute(ApplicationLoader.scala:122)
        at play.api.BuiltInComponentsFromContext.materializer(ApplicationLoader.scala:122)
        at com.lightbend.lagom.scaladsl.server.LagomServerComponents$class.lagomServerBuilder(LagomServer.scala:68)
        at com.lightbend.lagom.scaladsl.server.LagomApplication.lagomServerBuilder$lzycompute(LagomApplicationLoader.scala:186)
        at com.lightbend.lagom.scaladsl.server.LagomApplication.lagomServerBuilder(LagomApplicationLoader.scala:186)
        at com.example.auction.item.impl.ItemComponents$class.lagomServer(ItemApplication.scala:24)
        at com.example.auction.item.impl.ItemApplication.lagomServer$lzycompute(ItemApplication.scala:32)
        at com.example.auction.item.impl.ItemApplication.lagomServer(ItemApplication.scala:32)
        at com.lightbend.lagom.scaladsl.server.LagomApplication.<init>(LagomApplicationLoader.scala:204)
        at com.example.auction.item.impl.ItemApplication.<init>(ItemApplication.scala:32)
        at com.example.auction.item.impl.ItemApplicationLoader$$anon$2.<init>(ItemApplication.scala:47)
        at com.example.auction.item.impl.ItemApplicationLoader.load(ItemApplication.scala:47)
        at com.lightbend.lagom.scaladsl.server.LagomApplicationLoader.load(LagomApplicationLoader.scala:59)
        at play.core.server.ProdServerStart$.start(ProdServerStart.scala:47)
        at play.core.server.ProdServerStart$.main(ProdServerStart.scala:22)
        at play.core.server.ProdServerStart.main(ProdServerStart.scala)
Caused by: org.jboss.netty.channel.ChannelException: Failed to bind to: /127.0.0.1:2552
        at org.jboss.netty.bootstrap.ServerBootstrap.bind(ServerBootstrap.java:272)
        at akka.remote.transport.netty.NettyTransport$$anonfun$listen$1.apply(NettyTransport.scala:417)
        at akka.remote.transport.netty.NettyTransport$$anonfun$listen$1.apply(NettyTransport.scala:413)
        at scala.util.Success$$anonfun$map$1.apply(Try.scala:237)
        at scala.util.Try$.apply(Try.scala:192)
        at scala.util.Success.map(Try.scala:237)
        at scala.concurrent.Future$$anonfun$map$1.apply(Future.scala:237)
        at scala.concurrent.Future$$anonfun$map$1.apply(Future.scala:237)
        at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32)
        at akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:55)
        at akka.dispatch.BatchingExecutor$BlockableBatch$$anonfun$run$1.apply$mcV$sp(BatchingExecutor.scala:91)
        at akka.dispatch.BatchingExecutor$BlockableBatch$$anonfun$run$1.apply(BatchingExecutor.scala:91)
        at akka.dispatch.BatchingExecutor$BlockableBatch$$anonfun$run$1.apply(BatchingExecutor.scala:91)
        at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:72)
        at akka.dispatch.BatchingExecutor$BlockableBatch.run(BatchingExecutor.scala:90)
        at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:38)
        at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(ForkJoinExecutorConfigurator.scala:43)
        at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
        at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
        at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
        at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
Caused by: java.net.BindException: Address already in use
        at sun.nio.ch.Net.bind0(Native Method)
        at sun.nio.ch.Net.bind(Net.java:433)
        at sun.nio.ch.Net.bind(Net.java:425)
        at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
        at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
        at org.jboss.netty.channel.socket.nio.NioServerBoss$RegisterTask.run(NioServerBoss.java:193)
        at org.jboss.netty.channel.socket.nio.AbstractNioSelector.processTaskQueue(AbstractNioSelector.java:391)
        at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:315)
        at org.jboss.netty.channel.socket.nio.NioServerBoss.run(NioServerBoss.java:42)
        at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
        at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:748)
]

See how none of the userland lagom services succeeds at starting:


> conduct info 
ID               NAME                 VER  #REP  #STR  #RUN  ROLES
866422b          biddingimpl           v1     1     1     0  web
b532472-92feca5  conductr-haproxy      v2     1     0     1  haproxy
e8d2b07          searchimpl            v1     1     1     0  web
f7d6a50          userimpl              v1     1     0     0  web
b0d63d0          webgateway            v1     1     1     0  web
57e432d          eslite                v1     1     0     1  elasticsearch
870ee7d          continuous-delivery   v3     1     0     1  continuous-delivery
b232f9e          itemimpl              v1     1     0     0  web
a32763e          cassandra             v3     1     0     1  cassandra
[success] Total time: 9 s, completed Jun 28, 2017 4:50:21 PM
> conduct info 
ID               NAME                 VER  #REP  #STR  #RUN  ROLES
866422b          biddingimpl           v1     1     0     0  web
b532472-92feca5  conductr-haproxy      v2     1     0     1  haproxy
e8d2b07          searchimpl            v1     1     1     0  web
f7d6a50          userimpl              v1     1     1     0  web
b0d63d0          webgateway            v1     1     1     0  web
57e432d          eslite                v1     1     0     1  elasticsearch
870ee7d          continuous-delivery   v3     1     0     1  continuous-delivery
b232f9e          itemimpl              v1     1     0     0  web
a32763e          cassandra             v3     1     0     1  cassandra
[success] Total time: 8 s, completed Jun 28, 2017 4:51:23 PM
> conduct info 
ID               NAME                 VER  #REP  #STR  #RUN  ROLES
866422b          biddingimpl           v1     1     1     0  web
b532472-92feca5  conductr-haproxy      v2     1     0     1  haproxy
e8d2b07          searchimpl            v1     1     1     0  web
! f7d6a50        userimpl              v1     1     0     0  web
b0d63d0          webgateway            v1     1     1     0  web
57e432d          eslite                v1     1     0     1  elasticsearch
870ee7d          continuous-delivery   v3     1     0     1  continuous-delivery
b232f9e          itemimpl              v1     1     0     0  web
a32763e          cassandra             v3     1     0     1  cassandra
There are errors: use `conduct events` or `conduct logs` for further information
[success] Total time: 7 s, completed Jun 28, 2017 4:54:33 PM
> 
huntc commented 7 years ago

@ignasi35 I'm wondering if you have other problems going on with your Lagom examples?

huntc commented 7 years ago

@ignasi35 Looks as though you have some dependency resolution issues too... perhaps some of your artifacts didn't get published for Scala 2.12 (com.lightbend.lagom#lagom-javadsl-client_2.12;1.4.0-M1).

ignasi35 commented 7 years ago

@ignasi35 Looks as though you have some dependency resolution issues too... perhaps some of your artifacts didn't get published for Scala 2.12 (com.lightbend.lagom#lagom-javadsl-client_2.12;1.4.0-M1).

Nothing was published for 2.12. Lagom still doesn't support 2.12: @ignasi35 Looks as though you have some dependency resolution issues too... perhaps some of your artifacts didn't get published for Scala 2.12 (com.lightbend.lagom#lagom-javadsl-client_2.12;1.4.0-M1).

ignasi35 commented 7 years ago

@ignasi35 I'm wondering if you have other problems going on with your Lagom examples?

I could run the application without problems using DevMode. I'll repeat my test and make sure I'm using a clean environment. I run the tests with online-auction-scala late on my work day and it's possible I made a mistake in tha process that caused that port collision for the akka clusters of each lagom service. I'll review.

huntc commented 7 years ago

@ignassi you really need to start publishing for Scala 2.12... it is time... :-)

ignasi35 commented 7 years ago

Hmm, online-auction-scala on the other hand won't start the lagom services because there's a port collision: [...]

There was no error, my test bed was not properly setup.

huntc commented 7 years ago

@ignasi35 I don't this PR is relevant any longer, so closing. We can deal with 1.4 upon its arrival.