Skip to content
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

[FOLLOWUP][PR514] Update to use the newer Kryo 5.5.0 #747

Open
wants to merge 20 commits into
base: develop
Choose a base branch
from

Conversation

roczei
Copy link

@roczei roczei commented Apr 24, 2023

Hi Chill team,

This is a follow up on this PR: #514

Main changes:

  • Rebased the PR514 to the latest develop state
  • Fixed all unit test issues
  • Set Kryo 5.5.0 version which includes the fix for "Serialization of a generic array of enum" (this fixed the TestVarArgs case class issue in KryoSpec.scala)
  • Switched to versionless kryo5 package (this fixed all mimaReport issues). If you think this is not the right solution and we have to use the versioned imports, I can drop the last three commits
  • Added back the chill-storm module

I have already tested with sbt test and all tests passed.

@CLAassistant
Copy link

CLAassistant commented Apr 24, 2023

CLA assistant check
All committers have signed the CLA.

@roczei
Copy link
Author

roczei commented Apr 24, 2023

FYI: @nicknezis, @johnynek, @regadas

@codecov-commenter
Copy link

Codecov Report

Patch coverage: 100.00% and project coverage change: +0.01 🎉

Comparison is base (f69dfa0) 91.85% compared to head (8c1bf86) 91.87%.

❗ Current head 8c1bf86 differs from pull request most recent head e657107. Consider uploading reports for the commit e657107 to get more accurate results

Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #747      +/-   ##
===========================================
+ Coverage    91.85%   91.87%   +0.01%     
===========================================
  Files           46       46              
  Lines         1425     1427       +2     
  Branches        28       35       +7     
===========================================
+ Hits          1309     1311       +2     
  Misses         116      116              
Impacted Files Coverage Δ
...la/com/twitter/chill/akka/ActorRefSerializer.scala 100.00% <ø> (ø)
...m/twitter/chill/algebird/AlgebirdSerializers.scala 100.00% <ø> (ø)
...cala/com/twitter/chill/BijectionEnrichedKryo.scala 53.33% <ø> (ø)
.../scala/com/twitter/chill/InjectiveSerializer.scala 100.00% <ø> (ø)
...2-/com/twitter/chill/ClassManifestSerializer.scala 0.00% <ø> (ø)
...in/scala-2.12-/com/twitter/chill/Traversable.scala 100.00% <ø> (ø)
...12-/com/twitter/chill/WrappedArraySerializer.scala 100.00% <ø> (ø)
...scala/com/twitter/chill/BigDecimalSerializer.scala 100.00% <ø> (ø)
...ain/scala/com/twitter/chill/BitSetSerializer.scala 100.00% <ø> (ø)
...n/scala/com/twitter/chill/ClassTagSerializer.scala 0.00% <ø> (ø)
... and 17 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

☔ View full report in Codecov by Sentry.
📢 Do you have feedback about the report comment? Let us know in this issue.

@roczei
Copy link
Author

roczei commented May 10, 2023

I have sent this mail to the chill-user list regarding this pull request:

https://groups.google.com/g/chill-user/c/t5y8xBEjTXY

Hi Chill maintainers / users,

Is this twitter/chill project still active? The latest chill version depends on 4.0.2. Are there any chance for a new chill release which can include the following pull request?

[FOLLOWUP][PR514] Update to use the newer Kryo 5.5.0: #747

We would like to migrate Apache Spark and Apache Livy to Kryo5 and we are blocked due to this missing pull request.

Thanks in advance for any responses!

@regadas
Copy link
Collaborator

regadas commented May 10, 2023

Hey! Things have been a bit busy on my side, but I'll see if I can pick up things here in the coming days.

Thanks for the poke and PR. 🙏

@roczei
Copy link
Author

roczei commented May 10, 2023

Thanks @regadas!

@alejandrod-f
Copy link

Hi, I hope we can get this soon! It will be a good step forward to unify everything to Kryo 5.

Comment on lines 99 to 101
/* nb: thriftStructClass doesn't actually have type Class[T] it has type Class[_ <: T]
* this lie is courtesy of the Kryo API
* */
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like this comment should make be dropped now that the kryo api has changed?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @eejbyfeldt,

Thanks for the review! I do not know the answer but if you think we may drop it, I am happy to implement it.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@eejbyfeldt,

Where do you see this that kryo api has changed and we may drop this comment?

Copy link
Contributor

@eejbyfeldt eejbyfeldt Jul 13, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems to be that kryo went from Class[T] api to a Class[_ <: T] in kryo 5. So the comment basically consistent of two statements

nb: thriftStructClass doesn't actually have type Class[T] it has type Class[_ <: T]

and

this lie is courtesy of the Kryo API

My understanding was that the second statement is not longer true as there is no longer any lying going on (thrift and kryo 5 has matching apis). While the first statement is still true it does not really add any useful information anymore.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While the first statement is still true it does not really add any useful information anymore.

Ok, I have just deleted it.

@roczei
Copy link
Author

roczei commented Jul 17, 2023

Hey! Things have been a bit busy on my side, but I'll see if I can pick up things here in the coming days.

Hi @regadas,

Sorry to trouble you, but did you a chance to take a look at this pull request? I wonder if you could tell me when can we expect a new chill release which include it? I really appreciate your reply in advance.

@mcmoe
Copy link

mcmoe commented Oct 3, 2023

Hello, is there still an intention to merge this PR?

@@ -53,7 +53,7 @@ val sharedSettings = Seq(
"org.scalacheck" %% "scalacheck" % "1.15.2" % "test",
"org.scalatest" %% "scalatest" % "3.2.15" % "test",
"org.scalatestplus" %% "scalatestplus-scalacheck" % "3.1.0.0-RC2" % "test",
"com.esotericsoftware" % "kryo-shaded" % kryoVersion
"com.esotericsoftware" % "kryo" % kryoVersion

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

According to the description in the Kryo repository, it seems that com.esotericsoftware.kryo:kryo5:5.5.0 should be used?

https://github.com/EsotericSoftware/kryo

image

Copy link
Author

@roczei roczei Dec 19, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @LuciferYang,

I agree with you! Yes, it would be better to use com.esotericsoftware.kryo:kryo5:5.5.0. I have switched to versionless kryo5 package to fix all mimaReport issues. We can switch back to this artifact any time before it would be merged. (I have mentioned this in the PR's description as well). Related commit: 0a6dda1

Currently the main issue is that we cannot go further with this PR because seems like there is no active maintainer of this twitter/chill repository. :-( I am just a simple contributor who opened this PR.

@LuciferYang
Copy link

Hello ~ Is there any progress on this PR?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants