-
Notifications
You must be signed in to change notification settings - Fork 227
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
misc: Scala 2.12 final move #870
Conversation
Scala 2.12 deprecates ranges on doubles.
Still some issue with lambda serialisation. Will be looking into that. |
final case class Equals(value: Any) extends Filter {
val filterFunc: Any => Boolean = (item: Any) => value.equals(item)
val operatorString: String = "="
def valuesStrings: Set[Any] = Set(value)
} Is there a reason why |
Adding |
Making the val transient will break compatibility, but then the system hasn't fully stabilized yet anyhow, and so some issues are expected. |
So what is your recommendation, @broneill ? |
In other concerns I have, it seems like for the Kryo serialisation we rely on the bytecode created by the Scala compiler. IIUC, we only test serialisation issues in the same build. Is there a way to test the migration? |
Usually when the lambda is defined as a val it is due to if that is used multiple times, to avoid creating too many copies in memory. However in this instance it probably doesn’t matter and it is far easier for it not to be serialized.
…-Evan
On Aug 27, 2020, at 7:55 AM, Szymon Matejczyk ***@***.***> wrote:
In other concerns I have, it seems like for the Kryo serialisation we rely on the bytecode created by the Scala compiler.
We may have more backwards incompatible changes and the lambda issue is just one of them.
IIUC, we only test serialisation issues in the same build. Is there a way to test the migration?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub <#870 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AAIDPWZ4CTEL7JT34ZRYWJDSCZXXBANCNFSM4QL6VPNQ>.
|
Breaking changes: This possible breaks cryo serialization backwards compat.
This class path issue still has to be investigated. |
It also seems like we are out of memory for sbt/test runs in the current build. Will have a look at this too. |
Yeah that dependency should be upgraded to Lightbend’s official custom downing provider, but that’s a separate change….. @broneill
… On Aug 27, 2020, at 11:55 PM, Szymon Matejczyk ***@***.***> wrote:
Multiple akka versions on the class path is caused by a dependency added in #6522708fb8d43bdc4cd5bb838b21a99d9554459a , specifically:
"org.sisioh" %% "akka-cluster-custom-downing" % "0.0.21",
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub <#870 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AAIDPW6J4J6VUBWYHUOPWMDSC5IGFANCNFSM4QL6VPNQ>.
|
8a0fd6f
to
de20dea
Compare
Do you have any clues what fails? From |
Found this
|
38a8405
to
5104243
Compare
Ok, confirmed that the failing test is |
I’m fine with this, @broneill ?
… On Sep 15, 2020, at 4:10 AM, Szymon Matejczyk ***@***.***> wrote:
What I suggest is: remove Kamon start from FilodbClusterNode. Add it explicitly in each Filo entry point.
That will mean that we don't start it in unit tests.
WDYT? @broneill <https://github.com/broneill> @velvia <https://github.com/velvia>
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub <#870 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AAIDPWYX45OF3IJZ47IZQOLSF5DRNANCNFSM4QL6VPNQ>.
|
This should be fine until Kamon is initialized as the very first thing in the application by calling the Kamon.init() method. @szymonm Could you please make sure existing Config Load, Kamon Metrics and Tracing functionalities across FiloDB nodes are not broken after this move.
@vishramachandran @sherali42 Please help here..
|
I really doubt Spark job tests care about Kamon. I’d just go ahead and try it.
… On Sep 15, 2020, at 10:21 PM, Jackson Jeyapaul ***@***.***> wrote:
What I suggest is: remove Kamon start from FilodbClusterNode. Add it explicitly in each Filo entry point in:
CliMain
FiloServer
This should be fine until Kamon is initialized as the very first thing in the application by calling the Kamon.init() method. @szymonm <https://github.com/szymonm> Could you please make sure existing Config Load, Kamon Metrics and Tracing functionalities across FiloDB nodes are not broken after this move.
I'm not sure what about starting Kamon in a spark job...
@vishramachandran <https://github.com/vishramachandran> @sherali42 <https://github.com/sherali42> Please help here..
That will mean that we don't start it in unit tests.
WDYT? @broneill <https://github.com/broneill> @velvia <https://github.com/velvia>
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub <#870 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AAIDPWY4SNCQEV42PJ7DHZTSGBDO3ANCNFSM4QL6VPNQ>.
|
@szymonm BTW, we need kamon to be enabled in spark jobs. We do measure metrics that track progress of spark jobs. Thanks. |
We don't need kamon in spark unit tests. |
I'm already working on a fork, so I don't personally need this to be merged to develop. On the other hand I put considerable amount of work into figuring out all small fixes and would like to avoid conflict resolution as much as I can. I understand that I don't have means of testing this change end to end. I consider the following parts of the change to be risky:
Other changes seem to be low risk and I consider them to be mostly fixing minor issues and tech debt (first commits of this PR). They don't depend on the risky changes and I will put them as a separate PRs. Back to Kamon, I think the setup can be improved. Currently I see a lot of error logs during test run. After the move to 2.12 they fail More generally, I think we should avoid calling For
Can you share what is on your roadmap? I may be able to help. |
How is that going? What are your plans regarding this PR? |
Pull Request checklist
New behavior :
Final changes needed to upgrade to Scala 2.12. Resolves #457
Pls review commit by commit.