-
Notifications
You must be signed in to change notification settings - Fork 13.8k
[FLINK-2608] Updated Twitter Chill version. #2623
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
Conversation
Could you include a simple test to verify that this does in fact fix the issue? |
Does this change have any implications on our Kryo version, since Chill since 0.8.0 uses Kryo3 ? https://github.com/twitter/chill/releases/tag/0.8.0 |
@rmetzger If I'm not mistaken Kryo 2.24 and 3.0 versions is compatible each other at the level of standard IO serialization. And if it possible we will be able to a little wait for Chill 0.7.5 version (with needed fixes and Kryo 2.x) or migrate Flink to Kryo 3.x version. |
Bumping the version of serializers is a sensitive issue in Flink. |
This change adds Kryo-shaded to our dependency tree:
I suspect that maven is not recognizing this because chill seems to depend on Another issue we need to consider is the serialization compatibility. Savepoints in Flink could potentially contain data serialized with Kryo 2.24. If we want to provide savepoint compatibility between Flink 1.1 and 1.2, we need to consider that. |
As far as I read it, Kryo 3.x is not strictly serialization compatible with 2.x, hence the major version number bump. If the interfaces are still stable, then it should be fine to bump the chill dependency version, exclude any kryo dependency, and add our own 2.x kryo dependency. I would prefer that approach. |
Okay, in detail it seems that compatibility is not maintained for "Unsafe based I/O", but maintained for standard I/O. |
@chermenin Do you plan to continue with this pull request? Would be great if you I would suggest to adjust it in the following way:
Also, testing the serializers via a "GroupReduce" integration test seems heavy and unspecific. Can you change this to a serializer Unit test? Have a look at the Kryo Serializer unit tests for an example. Do you think that would work? |
I exclude Kryo as a dependency from Chill and add simple test to check Java collections. Tests added to |
return env.fromCollection(data); | ||
} | ||
|
||
public static DataSet<PojoWithCollection> getPojoWithArraysAsListCollection(ExecutionEnvironment env) { |
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.
Are these still needed any more by the tests?
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 think it can be saved. Just on the safe side.
I like this approach. One minor question, otherwise +1 to go here |
@StephanEwen What about merging this PR? |
The build fails during the Maven Rat plugin license check. Could you fix the build and rebase to the latest master? I think we can merge then. |
Yep, fixed. |
Thank you! |
@mxm @chermenin Can we please do a followup to this, given that it is already merged? The tests in Sorry for being super strict, but our build times are already exploding, and it is exactly cases like this one (adding distributed runtime Integration Tests to test a serializer) that contribute a lot to that. |
Sure, I'll take care of it. I saw you giving a +1 and didn't see an issue myself. |
[FLINK-2608] Updated test with Java collections. [FLINK-2608] Updated Chill and Kryo dependencies. [FLINK-2608] Added collections serialization test. This closes apache#2623.
[FLINK-2608] Updated test with Java collections. [FLINK-2608] Updated Chill and Kryo dependencies. [FLINK-2608] Added collections serialization test. This closes apache#2623.
[FLINK-2608] Updated test with Java collections. [FLINK-2608] Updated Chill and Kryo dependencies. [FLINK-2608] Added collections serialization test. This closes apache#2623.
[FLINK-2608] Updated test with Java collections. [FLINK-2608] Updated Chill and Kryo dependencies. [FLINK-2608] Added collections serialization test. This closes apache#2623.
Fixed JIRA issue [FLINK-2608] Arrays.asList(..) does not work with CollectionInputFormat as issue in Twitter Chill project (twitter/chill#255). Updated version of Twitter Chill in
pom.xml
.