Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
kerr
@hepin1989
there are some guy complain about that...
Ignasi Marimon-Clos
@ignasi35
I don’t think it’s on the roadmap, no.
Wayne Wang
@WayneWang12
getquill/quill#1299 I've made this pull request for quill to support lagom.
Can anyone do a little review for it?
And also I think lagom should have a support for aggretion query. For example, I have to change the unit test for size query
await(context.run(entitySize)) mustEqual Option(entries.size)
like this to make it run. Because Lagom only support selectOne or selectAll
maybe a function with return type Future[T] is OK?
Sergey Morgunov
@ihostage
Hi, contributors!
What do you think about lagom/lagom#1713 ?
I need feedback before I try to implement Scala part :smile:
Sergey Morgunov
@ihostage
Is anybody here? :smile: Guys, Play 2.7.0 released :tada: It's Lagom time now :joy:
Dale Wijnand
@dwijnand
work in progress :D
Sergey Morgunov
@ihostage
@dwijnand :+1:
About a month I haven't feedback for a few PR for Lagom and Recipes :disappointed:.
I know and I have seen on GitHub that this month you all were very busy the release of Play 2.7.0. :muscle:
And now I will be happy if Lagom team find time to review PR from community :wink:
lagom/lagom#1713
lagom/lagom-recipes#61
lagom/lagom-recipes#57
Dale Wijnand
@dwijnand
I'm afraid we're all very busy with the release of Lagom 1.5.0, actually. But I'll pass on your links and we'll try to review them.
Sergey Morgunov
@ihostage
Thank you, Dale :wink:
Dale Wijnand
@dwijnand
We've released Lagom 1.5.0-RC2, see https://www.lagomframework.com/blog/lagom-1-5-0-RC2.html
Sergey Morgunov
@ihostage
@dwijnand :+1:
Sergey Morgunov
@ihostage

Hi, contributors!
What do you think about this warning?

[warn]     * com.lightbend.akka.management:akka-management-cluster-bootstrap_2.12:1.0.0-RC3 is selected over 0.20.0
[warn]         +- com.lightbend.lagom:lagom-cluster-core_2.12:1.5.0-RC2 (depends on 1.0.0-RC3)
[warn]         +- com.lightbend.rp:reactive-lib-akka-cluster-bootstrap_2.12:1.7.0 (depends on 0.20.0)

I think that it’s a big problem. Now I have two version akka-discovery (because different group name) in classpath:

  • com.typesafe.akka:akka-discovery_2.12:2.5.21
  • com.lightbend.akka.discovery:akka-discovery_2.12:0.20.0

And I got a problem with bootstrapping a cluster:

Caused by: java.lang.ClassCastException: class scala.runtime.Nothing$ is not assignable from class akka.discovery.SimpleServiceDiscovery
    at akka.actor.ReflectiveDynamicAccess.$anonfun$getClassFor$1(ReflectiveDynamicAccess.scala:24)
    at scala.util.Try$.apply(Try.scala:209)
    at akka.actor.ReflectiveDynamicAccess.getClassFor(ReflectiveDynamicAccess.scala:21)
    at akka.discovery.Discovery$.checkClassPathForOldDiscovery(Discovery.scala:111)
    at akka.discovery.Discovery.<init>(Discovery.scala:17)
    at akka.discovery.Discovery$.createExtension(Discovery.scala:103)
    at akka.discovery.Discovery$.createExtension(Discovery.scala:96)
    at akka.actor.ActorSystemImpl.registerExtension(ActorSystem.scala:962)
    at akka.actor.ExtensionId.apply(Extension.scala:79)
    at akka.actor.ExtensionId.apply$(Extension.scala:78)
    at akka.discovery.Discovery$.apply(Discovery.scala:97)
    at akka.management.cluster.bootstrap.ClusterBootstrap.<init>(ClusterBootstrap.scala:52)
    at akka.management.cluster.bootstrap.ClusterBootstrap$.createExtension(ClusterBootstrap.scala:114)
    at akka.management.cluster.bootstrap.ClusterBootstrap$.createExtension(ClusterBootstrap.scala:108)
    at akka.actor.ActorSystemImpl.registerExtension(ActorSystem.scala:962)
    at akka.actor.ExtensionId.apply(Extension.scala:79)
    at akka.actor.ExtensionId.apply$(Extension.scala:78)
    at akka.management.cluster.bootstrap.ClusterBootstrap$.apply(ClusterBootstrap.scala:108)
    at com.lightbend.rp.akkaclusterbootstrap.ClusterBootstrapAutostart.<init>(ClusterBootstrapAutostart.scala:33)
    at com.lightbend.rp.akkaclusterbootstrap.ClusterBootstrapAutostart$.createExtension(ClusterBootstrapAutostart.scala:41)
    at com.lightbend.rp.akkaclusterbootstrap.ClusterBootstrapAutostart$.createExtension(ClusterBootstrapAutostart.scala:38)
    at akka.actor.ActorSystemImpl.registerExtension(ActorSystem.scala:962)
    at akka.actor.ActorSystemImpl.$anonfun$loadExtensions$1(ActorSystem.scala:995)
Sergey Morgunov
@ihostage
@TimMoore @ignasi35 ?
Dale Wijnand
@dwijnand
@ihostage yeah they're incompatible. It's part of the migration to Lagom 1.5 is no longer using reactive-lib-akka-cluster-bootstrap
Sergey Morgunov
@ihostage
@dwijnand But now nobody can’t test Lagom-1.5.0-RC2, because service can't start in Prod-mode. :cry:
Need to remove reactive-lib-akka-cluster-bootstrap from transitive dependencies of sbt-reactive-app? I’m right?
Dale Wijnand
@dwijnand
I've not followed the details, but the migration guides are being written as we speak :)
Sergey Morgunov
@ihostage
For details, I use the latest versions Lagom/Reactive App/Reactive CLI :smile:
Ignasi Marimon-Clos
@ignasi35
@ihostage don’t use sbt-reactive-app with Lagom 1.5.0-RC2
Sergey Morgunov
@ihostage
@ignasi35 What to use?
Ignasi Marimon-Clos
@ignasi35
Lagom 1.5.0 will no longer support sbt-reactive-app. Instead, use rp generate-kubernetes-sources … to produce YAML files.
Keep the YAML files undes SCM (git)
Cleanup, improve, maintain the YAML files manually from now on.
I’m (literally) writing th emigration guide from sbt-reactive-app. It’ll eventually be in https://www.lagomframework.com/documentation/latest/scala/Migration15.html
Sergey Morgunov
@ihostage
:scream: rp generate YAML by information from docker image labels. Labels (like memory limits etc) added to image by settings of sbt-reactive-app. Now I need maintain manually all YAML for all environments? May be I not understand something. :disappointed:

For example, now we use next settings:

.settings(rpEnableAkkaClusterBootstrap := true)
.settings(rpAkkaClusterBootstrapSystemName := "foo-bar-service")
.settings(rpEnableServiceDiscovery := true)
.settings(rpPrependRpConf := "production.conf")
.settings(rpEndpoints ++= jvmDebugEndpoint)
.settings(rpEnvironmentVariables += (
    "LOGSTASH_DESTINATION" -> ConfigMapEnvironmentVariable(configName, "logstash")
  ))
.settings(rpMemory := 512*1024*1024) // 512m

I don't want to lose them :smile:

Ignasi Marimon-Clos
@ignasi35
You did understand correctly. Before, you had to setup some custom settings using sbt-reactive-app wrappers around some of-the-shelf tools. Now you can use these off-the-shelf tools directly.
It’s a one-shot job: run rp generate-resources > deployment/myresource.yml, then remove .settings…from build.sbt and, finally, commit.
Sergey Morgunov
@ihostage
It’s not easy :smile:
  1. YAML contain some variables, changed by release (depend on the version of service)
  2. Count of replicas can be different for different environments
  3. restartPolicy can be different for different environments
  4. Our ops can’t access to sources, it has only docker image and rp.
  5. etc
Maybe all settings reactive-app can be added in reactive-cli how the arguments of rp command?
Sergey Morgunov
@ihostage
Hmmm. Kustomize looks better than custom jq transformation.
Sergey Morgunov
@ihostage
Hi, contributors! :wink:
@dwijnand Please, add to backlog 1.5.0 this issue lagom/lagom#1772 :pray:
Dale Wijnand
@dwijnand
done
Sergey Morgunov
@ihostage
Thanks a lot! :+1:
Alden Torres
@aldenml_gitlab
Hi!, good morning, working with Lagom 1.5.0-RC2, I'm using akka.remote.serialization.ProtobufSerializer in my akka.actor serialization configuration, but in order to do that, I need to add "com.typesafe.akka" %% "akka-remote" % "2.5.21" to my build.sbt. Now, it's my understanding that akka can be a little picky when mixing versions. In order to guarantee that I'm using the same version that Lagom is using internally, I would like to expose that version via the Lagom plugin. I see that the Lagom version is exposed with https://github.com/lagom/lagom/blob/master/project/Tasks.scala#L8, I just can't figure out where is the right place to communicate an internal (but very important) dependency version number. Or is this idea a wrong approach? Thanks
Sergey Morgunov
@ihostage
@aldenml_gitlab Directly change the version of Lagom transitive dependencies in your libraryDependencies. See example
And I’m not sure, that this room is right place for your question :smile: I recommend to use discussion forum or general room :wink:
Alden Torres
@aldenml_gitlab
OK, I read in the github issue template If you have a feature request, the [contributors channel](https://gitter.im/lagom/contributors) is a better forum than an issue tracker to discuss it.
keep in mind that my question is not about how sbt resolve my dependencies, but about where to put (if it's a sound idea) an AkkaVersion in the lagom plugin in order to create a PR
Sergey Morgunov
@ihostage
Lagom 1.5.X already have a dependency on Akka 2.5.21 https://github.com/lagom/lagom/blob/1.5.x/project/Dependencies.scala
Just wait for next release or temporary build your custom version of Lagom :wink:
Alden Torres
@aldenml_gitlab
already using 1.5.0-RC2, but for the specific case of "com.typesafe.akka" %% "akka-remote", this dependency is not added out of the box to a project using LagomScala (but that's fine, that's not the problem)
Ignasi Marimon-Clos
@ignasi35
"com.typesafe.akka" %% "akka-remote” should be added to any LagomScala project that needs clustering. PErsistence, PubSub and durectu use of lagomClsuter use clustering.
Alden Torres
@aldenml_gitlab
@ignasi35 thank you very much!, I just confirmed that my problem was that I was starting from a bare minimum lagom service, adding akka.remote.serialization.ProtobufSerializer to my application.conf failed at runtime with ClassNotFoundException, and just adding lagomScaladslPersistenceCassandra to my build.sbt fix it. Well, it makes sense after all. Thanks again
Alden Torres
@aldenml_gitlab
hi @ignasi35, I have another situation when it's helpful to me having the akka version exposed. It's a common library with lagom dependencies and akka dependencies like akka-stream-testkit that it's not pulled by lagom dependencies, but still I want to have perfect sync in akka versions. Can you tell me where is the right place to discuss this? Thanks