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-6248] Add Flink v1.7 build target to Flink Runner #7300

Merged
merged 3 commits into from
Jan 10, 2019

Conversation

mxm
Copy link
Contributor

@mxm mxm commented Dec 17, 2018

This adds a build target for Flink 1.7.1.

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
Python Build Status --- Build Status
Build Status
Build Status --- --- ---

@mxm mxm requested a review from angoenka December 17, 2018 18:57
@mxm
Copy link
Contributor Author

mxm commented Dec 17, 2018

Running three Flink targets in parallel seems to cause problems with JVM exists. We might have to let them depend on each other to avoid test execution problems. Will investigate.

@mxm
Copy link
Contributor Author

mxm commented Dec 18, 2018

Run Java PreCommit

@mxm
Copy link
Contributor Author

mxm commented Dec 18, 2018

Run Portable_Python PreCommit

@mxm
Copy link
Contributor Author

mxm commented Dec 19, 2018

Testing issues resolved via #7309. Failures are now due to

:beam-sdks-java-io-hadoop-format:test
:beam-examples-java:sparkRunnerPreCommit

https://builds.apache.org/job/beam_PreCommit_Java_Commit/3183/console

@mxm mxm requested review from angoenka and tweise December 19, 2018 11:43
@mxm
Copy link
Contributor Author

mxm commented Dec 19, 2018

There is #7317 to address the Hadoop tests.

Since test failures are unrelated, this is ready to be reviewed.

@mxm
Copy link
Contributor Author

mxm commented Dec 20, 2018

Run Python PreCommit

@mxm
Copy link
Contributor Author

mxm commented Dec 20, 2018

Run Java PreCommit

@mxm
Copy link
Contributor Author

mxm commented Dec 20, 2018

Out of memory exception. We might have to run the tests across the different versions sequentially.

@mxm
Copy link
Contributor Author

mxm commented Dec 20, 2018

Run Java PreCommit

@mxm
Copy link
Contributor Author

mxm commented Dec 21, 2018

Would like to merge #7333 before merging this. The problem fixed in that PR became more visible with the Flink versions running in parallel.

/* All properties required for loading the Flink build script */
project.ext {
// Set the version of all Flink-related dependencies here.
flink_version = '1.7.0'
Copy link
Contributor

Choose a reason for hiding this comment

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

Change to 1.7.1

@tweise
Copy link
Contributor

tweise commented Dec 30, 2018

You mentioned that tests for multiple Flink versions should run sequentially. Are you going to address it as part of this PR?

@mxm
Copy link
Contributor Author

mxm commented Dec 30, 2018

You mentioned that tests for multiple Flink versions should run sequentially. Are you going to address it as part of this PR?

Yes, this has to be done in this PR. Otherwise, we get OutOfMemoryException due to three Flink clusters running. I haven't come up with an elegant way of doing it. Alternatively, decreasing the parallelism could also help, it's usually 16 on Jenkins.

@mxm
Copy link
Contributor Author

mxm commented Jan 3, 2019

Run Java PreCommit

@mxm mxm force-pushed the BEAM-6248 branch 2 times, most recently from 7d00dd0 to 3a8c874 Compare January 4, 2019 02:15
@mxm
Copy link
Contributor Author

mxm commented Jan 4, 2019

Limiting the parallelism seems to have cured the Jenkins test problems.

@mxm
Copy link
Contributor Author

mxm commented Jan 4, 2019

Run Python PreCommit

@@ -86,6 +86,7 @@ public void testExecution() throws Exception {
options.setRunner(CrashingRunner.class);
options.as(FlinkPipelineOptions.class).setFlinkMaster("[local]");
options.as(FlinkPipelineOptions.class).setStreaming(isStreaming);
options.as(FlinkPipelineOptions.class).setParallelism(4);
Copy link
Contributor

Choose a reason for hiding this comment

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

Good find. We should always set the parallelism to cap resource consumption. I would prefer 2 if the intention is to exercise parallel execution path, 1 otherwise.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Our current test setup wastes quite a few resources because it uses the number of available cores in most places. Will do a follow-up to fix that.

I would prefer 2 if the intention is to exercise parallel execution path, 1 otherwise.

Do you think a slightly higher parallelism would increase the chance of exposing bugs? For example, the key distribution might be more skewed with a higher parallelism.

Copy link
Contributor

Choose a reason for hiding this comment

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

To give a meaningful signal, the test should probably be different/specialized and assert something about the parallel execution? If not, then we can probably just set it to 1 ? As it stands we are operating on hope :)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Testing to a large degree is based on hope to expose bugs while testing functionality :) We have seen tests running fine with parallelism 1 in the past while they fail with parallelism >1. ValidatesRunner for instance still runs with parallelism 1. But I'm ok with lowering the parallelism to 2.

@mxm
Copy link
Contributor Author

mxm commented Jan 10, 2019

I think this could be included in the 2.10 release, as it would help more users to try out Beam.

@tweise
Copy link
Contributor

tweise commented Jan 10, 2019

Run Java PreCommit

1 similar comment
@tweise
Copy link
Contributor

tweise commented Jan 10, 2019

Run Java PreCommit

@tweise tweise merged commit c739ca5 into apache:master Jan 10, 2019
@tweise
Copy link
Contributor

tweise commented Jan 10, 2019

@mxm please backport and resolve JIRA: https://issues.apache.org/jira/browse/BEAM-6248

@mxm
Copy link
Contributor Author

mxm commented Jan 10, 2019

Backported to release-2.10.0.

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.

2 participants