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-646] Add PTransformOverrideFactory to the Core SDK #1547

Closed
wants to merge 1 commit into from

Conversation

tgroh
Copy link
Member

@tgroh tgroh commented Dec 7, 2016

Be sure to do all of the following to help us incorporate your contribution
quickly and easily:

  • Make sure the PR title is formatted like:
    [BEAM-<Jira issue #>] Description of pull request
  • Make sure tests pass via mvn clean verify. (Even better, enable
    Travis-CI on your fork and ensure the whole test matrix passes).
  • Replace <Jira issue #> in the title with the actual Jira issue
    number, if there is one.
  • If this contribution is large, please file an Apache
    Individual Contributor License Agreement.

This migrates PTransformOverrideFactory from the DirectRunner to the
Core SDK, as part of BEAM-646.

Migrate all DirectRunner Override Factories to the new
PTransformOverrideFactory.

@tgroh
Copy link
Member Author

tgroh commented Dec 7, 2016

R: @kennknowles

@asfbot
Copy link

asfbot commented Dec 8, 2016

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/beam_PreCommit_Java_MavenInstall/5648/
--none--

@asfbot
Copy link

asfbot commented Dec 8, 2016

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/beam_PreCommit_Java_MavenInstall/5649/

Build result: FAILURE

[...truncated 13089 lines...][JENKINS] Archiving /home/jenkins/jenkins-slave/workspace/beam_PreCommit_Java_MavenInstall@2/sdks/java/extensions/sorter/target/beam-sdks-java-extensions-sorter-0.4.0-incubating-SNAPSHOT.jar to org.apache.beam/beam-sdks-java-extensions-sorter/0.4.0-incubating-SNAPSHOT/beam-sdks-java-extensions-sorter-0.4.0-incubating-SNAPSHOT.jar[JENKINS] Archiving /home/jenkins/jenkins-slave/workspace/beam_PreCommit_Java_MavenInstall@2/sdks/java/extensions/sorter/target/beam-sdks-java-extensions-sorter-0.4.0-incubating-SNAPSHOT-javadoc.jar to org.apache.beam/beam-sdks-java-extensions-sorter/0.4.0-incubating-SNAPSHOT/beam-sdks-java-extensions-sorter-0.4.0-incubating-SNAPSHOT-javadoc.jar[JENKINS] Archiving /home/jenkins/jenkins-slave/workspace/beam_PreCommit_Java_MavenInstall@2/sdks/java/extensions/sorter/target/beam-sdks-java-extensions-sorter-0.4.0-incubating-SNAPSHOT-sources.jar to org.apache.beam/beam-sdks-java-extensions-sorter/0.4.0-incubating-SNAPSHOT/beam-sdks-java-extensions-sorter-0.4.0-incubating-SNAPSHOT-sources.jar[JENKINS] Archiving /home/jenkins/jenkins-slave/workspace/beam_PreCommit_Java_MavenInstall@2/sdks/java/extensions/sorter/target/beam-sdks-java-extensions-sorter-0.4.0-incubating-SNAPSHOT-test-sources.jar to org.apache.beam/beam-sdks-java-extensions-sorter/0.4.0-incubating-SNAPSHOT/beam-sdks-java-extensions-sorter-0.4.0-incubating-SNAPSHOT-test-sources.jar[JENKINS] Archiving /home/jenkins/jenkins-slave/workspace/beam_PreCommit_Java_MavenInstall@2/sdks/java/extensions/sorter/target/beam-sdks-java-extensions-sorter-0.4.0-incubating-SNAPSHOT-tests.jar to org.apache.beam/beam-sdks-java-extensions-sorter/0.4.0-incubating-SNAPSHOT/beam-sdks-java-extensions-sorter-0.4.0-incubating-SNAPSHOT-tests.jar[JENKINS] Archiving /home/jenkins/jenkins-slave/workspace/beam_PreCommit_Java_MavenInstall@2/sdks/pom.xml to org.apache.beam/beam-sdks-parent/0.4.0-incubating-SNAPSHOT/beam-sdks-parent-0.4.0-incubating-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/jenkins-slave/workspace/beam_PreCommit_Java_MavenInstall@2/sdks/java/extensions/join-library/pom.xml to org.apache.beam/beam-sdks-java-extensions-join-library/0.4.0-incubating-SNAPSHOT/beam-sdks-java-extensions-join-library-0.4.0-incubating-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/jenkins-slave/workspace/beam_PreCommit_Java_MavenInstall@2/sdks/java/extensions/join-library/target/beam-sdks-java-extensions-join-library-0.4.0-incubating-SNAPSHOT.jar to org.apache.beam/beam-sdks-java-extensions-join-library/0.4.0-incubating-SNAPSHOT/beam-sdks-java-extensions-join-library-0.4.0-incubating-SNAPSHOT.jar[JENKINS] Archiving /home/jenkins/jenkins-slave/workspace/beam_PreCommit_Java_MavenInstall@2/sdks/java/extensions/join-library/target/beam-sdks-java-extensions-join-library-0.4.0-incubating-SNAPSHOT-javadoc.jar to org.apache.beam/beam-sdks-java-extensions-join-library/0.4.0-incubating-SNAPSHOT/beam-sdks-java-extensions-join-library-0.4.0-incubating-SNAPSHOT-javadoc.jar[JENKINS] Archiving /home/jenkins/jenkins-slave/workspace/beam_PreCommit_Java_MavenInstall@2/sdks/java/extensions/join-library/target/beam-sdks-java-extensions-join-library-0.4.0-incubating-SNAPSHOT-sources.jar to org.apache.beam/beam-sdks-java-extensions-join-library/0.4.0-incubating-SNAPSHOT/beam-sdks-java-extensions-join-library-0.4.0-incubating-SNAPSHOT-sources.jar[JENKINS] Archiving /home/jenkins/jenkins-slave/workspace/beam_PreCommit_Java_MavenInstall@2/sdks/java/extensions/join-library/target/beam-sdks-java-extensions-join-library-0.4.0-incubating-SNAPSHOT-test-sources.jar to org.apache.beam/beam-sdks-java-extensions-join-library/0.4.0-incubating-SNAPSHOT/beam-sdks-java-extensions-join-library-0.4.0-incubating-SNAPSHOT-test-sources.jar[JENKINS] Archiving /home/jenkins/jenkins-slave/workspace/beam_PreCommit_Java_MavenInstall@2/sdks/java/extensions/join-library/target/beam-sdks-java-extensions-join-library-0.4.0-incubating-SNAPSHOT-tests.jar to org.apache.beam/beam-sdks-java-extensions-join-library/0.4.0-incubating-SNAPSHOT/beam-sdks-java-extensions-join-library-0.4.0-incubating-SNAPSHOT-tests.jar[JENKINS] Archiving /home/jenkins/jenkins-slave/workspace/beam_PreCommit_Java_MavenInstall@2/runners/pom.xml to org.apache.beam/beam-runners-parent/0.4.0-incubating-SNAPSHOT/beam-runners-parent-0.4.0-incubating-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/jenkins-slave/workspace/beam_PreCommit_Java_MavenInstall@2/sdks/java/io/jdbc/pom.xml to org.apache.beam/beam-sdks-java-io-jdbc/0.4.0-incubating-SNAPSHOT/beam-sdks-java-io-jdbc-0.4.0-incubating-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/jenkins-slave/workspace/beam_PreCommit_Java_MavenInstall@2/sdks/java/io/jdbc/target/beam-sdks-java-io-jdbc-0.4.0-incubating-SNAPSHOT.jar to org.apache.beam/beam-sdks-java-io-jdbc/0.4.0-incubating-SNAPSHOT/beam-sdks-java-io-jdbc-0.4.0-incubating-SNAPSHOT.jar[JENKINS] Archiving /home/jenkins/jenkins-slave/workspace/beam_PreCommit_Java_MavenInstall@2/sdks/java/io/jdbc/target/beam-sdks-java-io-jdbc-0.4.0-incubating-SNAPSHOT-javadoc.jar to org.apache.beam/beam-sdks-java-io-jdbc/0.4.0-incubating-SNAPSHOT/beam-sdks-java-io-jdbc-0.4.0-incubating-SNAPSHOT-javadoc.jar[JENKINS] Archiving /home/jenkins/jenkins-slave/workspace/beam_PreCommit_Java_MavenInstall@2/sdks/java/io/jdbc/target/beam-sdks-java-io-jdbc-0.4.0-incubating-SNAPSHOT-sources.jar to org.apache.beam/beam-sdks-java-io-jdbc/0.4.0-incubating-SNAPSHOT/beam-sdks-java-io-jdbc-0.4.0-incubating-SNAPSHOT-sources.jar[JENKINS] Archiving /home/jenkins/jenkins-slave/workspace/beam_PreCommit_Java_MavenInstall@2/sdks/java/io/jdbc/target/beam-sdks-java-io-jdbc-0.4.0-incubating-SNAPSHOT-test-sources.jar to org.apache.beam/beam-sdks-java-io-jdbc/0.4.0-incubating-SNAPSHOT/beam-sdks-java-io-jdbc-0.4.0-incubating-SNAPSHOT-test-sources.jar[JENKINS] Archiving /home/jenkins/jenkins-slave/workspace/beam_PreCommit_Java_MavenInstall@2/sdks/java/io/jdbc/target/beam-sdks-java-io-jdbc-0.4.0-incubating-SNAPSHOT-tests.jar to org.apache.beam/beam-sdks-java-io-jdbc/0.4.0-incubating-SNAPSHOT/beam-sdks-java-io-jdbc-0.4.0-incubating-SNAPSHOT-tests.jar[JENKINS] Archiving /home/jenkins/jenkins-slave/workspace/beam_PreCommit_Java_MavenInstall@2/sdks/java/extensions/pom.xml to org.apache.beam/beam-sdks-java-extensions-parent/0.4.0-incubating-SNAPSHOT/beam-sdks-java-extensions-parent-0.4.0-incubating-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/jenkins-slave/workspace/beam_PreCommit_Java_MavenInstall@2/examples/pom.xml to org.apache.beam/beam-examples-parent/0.4.0-incubating-SNAPSHOT/beam-examples-parent-0.4.0-incubating-SNAPSHOT.pomchannel stoppedSetting status of df8a21c to FAILURE with url https://builds.apache.org/job/beam_PreCommit_Java_MavenInstall/5649/ and message: 'Build finished. 'Using context: Jenkins: Maven clean install
--none--

@asfbot
Copy link

asfbot commented Dec 9, 2016

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/beam_PreCommit_Java_MavenInstall/5682/
--none--

* Produces {@link PipelineRunner}-specific overrides of {@link PTransform PTransforms}, and
* provides mappings between original and replacement outputs.
*/
@Experimental(Kind.UNSPECIFIED)
Copy link
Member

Choose a reason for hiding this comment

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

Idea: Kind.CORE_RUNNERS_ONLY as a blacklist for things that are unstable, for use only by our runners and other runner authors (much less pipeline authors) use at their own risk.

Copy link
Member Author

Choose a reason for hiding this comment

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

Done.

*/
PTransform<InputT, OutputT> override(TransformT transform);
PTransform<InputT, OutputT> getTransform(TransformT transform);
Copy link
Member

Choose a reason for hiding this comment

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

How about getReplacementTransform or something that says a bit more?

Copy link
Member Author

Choose a reason for hiding this comment

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

Done.

@@ -79,7 +81,7 @@ public PDone expand(PCollection<T> input) {
PCollection<T> resharded =
records
.apply(
"ApplySharding",
"ApplySlxkjharding",
Copy link
Member

Choose a reason for hiding this comment

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

Cat on keyboard?

Copy link
Member Author

Choose a reason for hiding this comment

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

Looks like.

@asfbot
Copy link

asfbot commented Dec 9, 2016

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/beam_PreCommit_Java_MavenInstall/5705/

Build result: FAILURE

[...truncated 5536 lines...][JENKINS] Archiving /home/jenkins/jenkins-slave/workspace/beam_PreCommit_Java_MavenInstall/sdks/java/io/google-cloud-platform/pom.xml to org.apache.beam/beam-sdks-java-io-google-cloud-platform/0.4.0-incubating-SNAPSHOT/beam-sdks-java-io-google-cloud-platform-0.4.0-incubating-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/jenkins-slave/workspace/beam_PreCommit_Java_MavenInstall/sdks/java/pom.xml to org.apache.beam/beam-sdks-java-parent/0.4.0-incubating-SNAPSHOT/beam-sdks-java-parent-0.4.0-incubating-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/jenkins-slave/workspace/beam_PreCommit_Java_MavenInstall/pom.xml to org.apache.beam/beam-parent/0.4.0-incubating-SNAPSHOT/beam-parent-0.4.0-incubating-SNAPSHOT.pomCompressed 42.33 KB of artifacts by 75.6% relative to #5704[JENKINS] Archiving /home/jenkins/jenkins-slave/workspace/beam_PreCommit_Java_MavenInstall/sdks/java/maven-archetypes/examples-java8/pom.xml to org.apache.beam/beam-sdks-java-maven-archetypes-examples-java8/0.4.0-incubating-SNAPSHOT/beam-sdks-java-maven-archetypes-examples-java8-0.4.0-incubating-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/jenkins-slave/workspace/beam_PreCommit_Java_MavenInstall/sdks/java/maven-archetypes/examples/pom.xml to org.apache.beam/beam-sdks-java-maven-archetypes-examples/0.4.0-incubating-SNAPSHOT/beam-sdks-java-maven-archetypes-examples-0.4.0-incubating-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/jenkins-slave/workspace/beam_PreCommit_Java_MavenInstall/runners/spark/pom.xml to org.apache.beam/beam-runners-spark/0.4.0-incubating-SNAPSHOT/beam-runners-spark-0.4.0-incubating-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/jenkins-slave/workspace/beam_PreCommit_Java_MavenInstall/sdks/java/io/hdfs/pom.xml to org.apache.beam/beam-sdks-java-io-hdfs/0.4.0-incubating-SNAPSHOT/beam-sdks-java-io-hdfs-0.4.0-incubating-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/jenkins-slave/workspace/beam_PreCommit_Java_MavenInstall/sdks/java/maven-archetypes/pom.xml to org.apache.beam/beam-sdks-java-maven-archetypes-parent/0.4.0-incubating-SNAPSHOT/beam-sdks-java-maven-archetypes-parent-0.4.0-incubating-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/jenkins-slave/workspace/beam_PreCommit_Java_MavenInstall/runners/google-cloud-dataflow-java/pom.xml to org.apache.beam/beam-runners-google-cloud-dataflow-java/0.4.0-incubating-SNAPSHOT/beam-runners-google-cloud-dataflow-java-0.4.0-incubating-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/jenkins-slave/workspace/beam_PreCommit_Java_MavenInstall/runners/apex/pom.xml to org.apache.beam/beam-runners-apex/0.4.0-incubating-SNAPSHOT/beam-runners-apex-0.4.0-incubating-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/jenkins-slave/workspace/beam_PreCommit_Java_MavenInstall/sdks/java/io/jms/pom.xml to org.apache.beam/beam-sdks-java-io-jms/0.4.0-incubating-SNAPSHOT/beam-sdks-java-io-jms-0.4.0-incubating-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/jenkins-slave/workspace/beam_PreCommit_Java_MavenInstall/runners/flink/pom.xml to org.apache.beam/beam-runners-flink-parent/0.4.0-incubating-SNAPSHOT/beam-runners-flink-parent-0.4.0-incubating-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/jenkins-slave/workspace/beam_PreCommit_Java_MavenInstall/sdks/java/io/mongodb/pom.xml to org.apache.beam/beam-sdks-java-io-mongodb/0.4.0-incubating-SNAPSHOT/beam-sdks-java-io-mongodb-0.4.0-incubating-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/jenkins-slave/workspace/beam_PreCommit_Java_MavenInstall/sdks/java/extensions/sorter/pom.xml to org.apache.beam/beam-sdks-java-extensions-sorter/0.4.0-incubating-SNAPSHOT/beam-sdks-java-extensions-sorter-0.4.0-incubating-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/jenkins-slave/workspace/beam_PreCommit_Java_MavenInstall/sdks/pom.xml to org.apache.beam/beam-sdks-parent/0.4.0-incubating-SNAPSHOT/beam-sdks-parent-0.4.0-incubating-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/jenkins-slave/workspace/beam_PreCommit_Java_MavenInstall/sdks/java/extensions/join-library/pom.xml to org.apache.beam/beam-sdks-java-extensions-join-library/0.4.0-incubating-SNAPSHOT/beam-sdks-java-extensions-join-library-0.4.0-incubating-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/jenkins-slave/workspace/beam_PreCommit_Java_MavenInstall/runners/pom.xml to org.apache.beam/beam-runners-parent/0.4.0-incubating-SNAPSHOT/beam-runners-parent-0.4.0-incubating-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/jenkins-slave/workspace/beam_PreCommit_Java_MavenInstall/sdks/java/io/jdbc/pom.xml to org.apache.beam/beam-sdks-java-io-jdbc/0.4.0-incubating-SNAPSHOT/beam-sdks-java-io-jdbc-0.4.0-incubating-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/jenkins-slave/workspace/beam_PreCommit_Java_MavenInstall/sdks/java/extensions/pom.xml to org.apache.beam/beam-sdks-java-extensions-parent/0.4.0-incubating-SNAPSHOT/beam-sdks-java-extensions-parent-0.4.0-incubating-SNAPSHOT.pom[JENKINS] Archiving /home/jenkins/jenkins-slave/workspace/beam_PreCommit_Java_MavenInstall/examples/pom.xml to org.apache.beam/beam-examples-parent/0.4.0-incubating-SNAPSHOT/beam-examples-parent-0.4.0-incubating-SNAPSHOT.pomchannel stoppedSetting status of 2d21d42 to FAILURE with url https://builds.apache.org/job/beam_PreCommit_Java_MavenInstall/5705/ and message: 'Build finished. 'Using context: Jenkins: Maven clean install
--none--

Copy link
Member

@kennknowles kennknowles left a comment

Choose a reason for hiding this comment

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

LGTM

@kennknowles
Copy link
Member

(get Jenkins to at run though)

@asfbot
Copy link

asfbot commented Dec 9, 2016

@tgroh tgroh force-pushed the override_factory_in_core branch 2 times, most recently from b2df98d to 736f284 Compare December 12, 2016 19:09
@asfbot
Copy link

asfbot commented Dec 12, 2016

@asfbot
Copy link

asfbot commented Dec 15, 2016

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/beam_PreCommit_Java_MavenInstall/5926/
--none--

@kennknowles
Copy link
Member

LGTM but conflicts.

This migrates PTransformOverrideFactory from the DirectRunner to the
Core SDK, as part of BEAM-646.

Add getOriginalToReplacements to provide a mapping from the original
outputs to replaced outputs. This enables all replaced nodes to be
rewired to output the original output.

Migrate all DirectRunner Override Factories to the new
PTransformOverrideFactory.
@asfbot
Copy link

asfbot commented Dec 16, 2016

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/beam_PreCommit_Java_MavenInstall/6021/
--none--

@asfgit asfgit closed this in cc28f0c Dec 16, 2016
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

3 participants