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

[BEAM-6630] upgrade to gradle 5.2 #7787

Merged
merged 2 commits into from
Feb 14, 2019
Merged

Conversation

adude3141
Copy link
Contributor

@adude3141 adude3141 commented Feb 8, 2019

Upgrade to the latest gradle 5.2.1

This will

  • reenable the build cache, i.e. test results will be cacheable again.
  • unlock java11 support

Follow this checklist to help us incorporate your contribution quickly and easily:

  • Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
  • If this contribution is large, please file an Apache Individual Contributor License Agreement.

It will help us expedite review of your Pull Request if you tag someone (e.g. @username) to look at it.

Post-Commit Tests Status (on master branch)

Lang SDK Apex Dataflow Flink Gearpump Samza Spark
Go Build Status --- --- --- --- --- ---
Java Build Status Build Status Build Status Build Status
Build Status
Build Status
Build Status Build Status Build Status
Python Build Status --- Build Status
Build Status
Build Status --- --- ---

@adude3141
Copy link
Contributor Author

R: @swegner

@adude3141 adude3141 changed the title [BEAM-6630] upgrade to gradle 5.2 [DO NOT MERGE] [BEAM-6630] upgrade to gradle 5.2 Feb 8, 2019
@adude3141
Copy link
Contributor Author

@swegner
Copy link
Contributor

swegner commented Feb 8, 2019

Exciting! Some other features that 5.0 brings which we might find useful:

@kennknowles
Copy link
Member

Definitely excited to try the Kotlin DSL. Even better than just getting types, it is getting one of the most modern type systems available in a mainstream language.

@adude3141
Copy link
Contributor Author

Run Java PostCommit

Copy link
Contributor

@swegner swegner left a comment

Choose a reason for hiding this comment

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

LGTM. All tests are green, is this ready to go in?

@adude3141 adude3141 changed the title [DO NOT MERGE] [BEAM-6630] upgrade to gradle 5.2 [BEAM-6630] upgrade to gradle 5.2 Feb 14, 2019
@adude3141
Copy link
Contributor Author

@swegner
Unless u have more test in mind we should run before merging, I d say we should merge.

@swegner swegner merged commit 6ce9701 into apache:master Feb 14, 2019
@adude3141 adude3141 deleted the BEAM-6630 branch February 14, 2019 14:42
@adude3141
Copy link
Contributor Author

Thx, @swegner

Will monitor next few Jenkins build to see which impact this has.

@swegner
Copy link
Contributor

swegner commented Feb 14, 2019

Will monitor next few Jenkins build to see which impact this has.

I skimmed through the Jenkins jobs that run continuously; I don't see anything broken, and the only significant execution time diff I noticed is beam_PostCommit_Java_ValidatesRunner_Flink:

image

Before (#3174): 16min, after (#3175): 8min.

Comparing the Gradle scans (before, after), the :beam-runners-flink_2.11:validatesRunnerBatch task is dramatically faster (12min -> 2.5 min). The scans show we're still running the same number of tests (475 in both cases), so I believe this is actual improvement.

I wonder what the cause of the improvement is; maybe the differences in how Gradle allocated memory to the test tasks? /cc @mxm @tweise

@adude3141
Copy link
Contributor Author

Hmm... nice.

Unfortunately, I have now idea how this is (or even could be) related to the gradle upgrade. We probably reduced memory available to the test jvm (was: 1/4th of physically available mem, is: 2G). I assume, we do have more than 8G on the Jenkins agents, but I did not find yet any documentation on that.

Even if mem would be increased now - and test jvm was gc'ing all the time, I have no idea, why batch should require significantly more memory compared to streaming?

@mxm
Copy link
Contributor

mxm commented Feb 15, 2019

Thanks for sharing @swegner. That's indeed an interesting change. It could come from the batch algorithms spilling to disk which is terribly slow compared to processing everything in memory. I've seen deletion of spilling directories while running tests.

Looking at the tests, it is surprising some of them take so long. There is room for improvement because every test brings up a mini Flink cluster at the moment. Some form of caching would be desirable.

@swegner
Copy link
Contributor

swegner commented Feb 15, 2019

One hypothesis: the overall reduction in Gradle task memory usage has left more available memory for the local Flink cluster. It's to say for sure, the Gradle scan doesn't give a whole lot of context.

At any rate, the improvement has stuck over the last 15 runs, and the first run showing improvement only has the Gradle 5 upgrade in the delta.

@angoenka
Copy link
Contributor

angoenka commented Feb 15, 2019

The apex validate runner test has started to fail since this change https://builds.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Apex/buildTimeTrend
The gradle scans and the logs are not very useful.

Jira: https://issues.apache.org/jira/browse/BEAM-6681

@adude3141
Copy link
Contributor Author

I ll have a look. Thank you very much for reporting.

@adude3141
Copy link
Contributor Author

Opened #7861 to fix Apex Runner failing with OutOfMemoryError.

@adude3141
Copy link
Contributor Author

Yet another one:
https://issues.apache.org/jira/browse/BEAM-6698

Any hint whom to ask about that portable runner flink stuff?

@mxm
Copy link
Contributor

mxm commented Feb 17, 2019

Please ask me :) Also @angoenka, @tweise, @ryan-williams, @robertwb (quoted to avoid pinging them here).

@adude3141
Copy link
Contributor Author

thx @mxm... will try to understand what's going on there and come back to ask questions

@aaltay
Copy link
Member

aaltay commented Feb 22, 2019

Release publish fails with this change. Reverting one commit (cadb6f7) to downgrade gradle resolves the issue: https://issues.apache.org/jira/browse/BEAM-6726

aaltay added a commit that referenced this pull request Feb 26, 2019
Cherry pick PR #7925 #7943 and undo revert #7787 in the release branch
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.

None yet

6 participants