-
Notifications
You must be signed in to change notification settings - Fork 205
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Switch from Akka to Pekko #17814
Switch from Akka to Pekko #17814
Conversation
@@ -12,7 +12,8 @@ import sangria.schema.Schema | |||
import scala.io.Source | |||
|
|||
class GraphQLSchemaSpec extends AnyWordSpec with Matchers { | |||
"The rendered schema" should { | |||
// TODO GraphQL sangria needs to be upgrade from 2.x.x to 3.x.x due to fatally colliding parboiled dependency (pekko bumps parboiled to 2.5, causing NoSuchMethodError in this test) | |||
"The rendered schema" ignore { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@remyhaemmerle-da @raphael-speyer-da This test is failing due to library dependency discrepancies:
- we are on 2.0.1 which has a praboiled 2.1.8 dependecy
- pekko pulls in parboiled 2.5.0
- this was not working, GraphQLSchemaSpec was failing
- I tried 2.1.6 (parboiled dependency on 2.3.0) -- without success
- IMHO we should bump at least to 4.0.0, which is the first version with parboiled 2.5.0 dep
- we could still live for a while with just disabling this test, but we need a solution for the release
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@remyhaemmerle-da @raphael-speyer-da please note I temporarily disabled this and the //ledger-service/http-json-perf modules so we do not have akka dependencies.
Never the less this might be possible. We need subsequent PRs enabling this again, before releasing
@@ -1,6 +1,6 @@ | |||
Forked or extended Daml and third-party libraries: | |||
|
|||
- [akka](https://github.com/akka/akka/) - Forked some files for adding more debug logging | |||
- [pekko](https://github.com/pekko/pekko/) - Forked some files for adding more debug logging |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@andreaslochbihler-da @remyhaemmerle-da
This file and the pekko/LICENCE file was only changed by my migration script.
Is this sufficient for now? (as before releasing we anyway need the proper fix for the source of these canton files, which needs to be propagated anyway to daml again)?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
https://github.com/pekko/pekko/ gives me a 404. You want to change this to https://github.com/apache/incubator-pekko, but given that this file originates from the Canton repo, I'd say that you want to change it there and not care about the files in here. This is temporary anyway until the Canton repo has been updated.
@remyhaemmerle-da Do you agree?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is part of the drop, so I do not care.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It will be overwrite by the next code prod.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you
compatibility/WORKSPACE
Outdated
@@ -345,7 +345,7 @@ load("@scala_version//:index.bzl", "scala_artifacts", "scala_major_version", "sc | |||
maven_install( | |||
name = "maven", | |||
artifacts = [ | |||
"com.daml:bindings-pekko_2.13:{}".format(latest_stable_version), | |||
"com.daml:bindings-akka_2.13:{}".format(latest_stable_version), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this correct?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll answer myself: yes it is, as I have noticed this on the PR synopsis
revert incorrect changes by script to compatibility module
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks to splitting the PR into series of digestable commits, it has become quite reviewable
LGTM!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks.
This commit is exclusively contains changes by the bash script. For the bash script is present at the pull request.
* adapt fully qualified name references * adapt pekko package declarations * adapt bazel files with dependency changes * adapt canton pekko lib shade_rule * adapt logger configuration declarations * pin maven dependencies * revert incorrect changes by script to compatibility module Workarounds for further TODOs: * disable http-json-perf and libs-scala/gatling-utils modules to maintain clean pekko dependencies (without akka) * disable GraphQLSchemaSpec test (sangria library needs to be upgraded)
dc821c1
to
41e5478
Compare
The changes in the first commit are genereted by the following script file:
Changes in the second commit, are manual changes:
** disable http-json-perf and libs-scala/gatling-utils modules to maintain clean pekko dependencies (without akka)
** disable GraphQLSchemaSpec test (sangria library needs to be upgraded)