Skip to content

Conversation

@boyuanzz
Copy link
Contributor

@boyuanzz boyuanzz commented Mar 25, 2020

This PR removes TimerSpec from Proto. Timer will be translated into TimerFamilySpec over fnapi.

R: @lukecwik

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

  • Choose reviewer(s) and mention them in a comment (R: @username).
  • 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.
  • Update CHANGES.md with noteworthy changes.
  • If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

Post-Commit Tests Status (on master branch)

Lang SDK Apex Dataflow Flink Gearpump Samza Spark
Go Build Status --- --- Build Status --- --- Build Status
Java Build Status Build Status Build Status
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
--- Build Status
Build Status
Build Status
Build Status
Build Status
--- --- Build Status
XLang --- --- --- Build Status --- --- Build Status

Pre-Commit Tests Status (on master branch)

--- Java Python Go Website
Non-portable Build Status Build Status
Build Status
Build Status Build Status
Portable --- Build Status --- ---

See .test-infra/jenkins/README for trigger phrase, status and link of all Jenkins jobs.

Copy link
Member

@lukecwik lukecwik left a comment

Choose a reason for hiding this comment

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

Remember that you can run the Python portable validates runner tests using Flink (./gradlew :runners:flink:1.9:job-server:validatesPortableRunner). This should give you good coverage as to whether the change as a whole works.

Copy link
Member

Choose a reason for hiding this comment

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

I would suggest not changing the proto tag numbers otherwise you'll have a more difficult import/update issue with Google.

It will be much easier as a separate change to renumber them in increasing order, so timer_family_specs is 5, restriction_coder_id is 6, requests_finalization is 7, ... (making the import into Google much simpler to do).

Copy link
Member

Choose a reason for hiding this comment

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

shouldn't this method replace to_runner_api?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I'm working on the Java changes meanwhile having some python tests to run to catch any breakages. Changing to to_runner_api is the next step. We should also remove TimerSpec definition from proto as long as nowhere else uses it.

Copy link
Member

Choose a reason for hiding this comment

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

+1 on TimerSpec removal

Copy link
Member

Choose a reason for hiding this comment

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

You can rename this method to to_runner_api and remove the method below.

Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
# TODO(BEAM-9602): Provide support of dynamic timer
# TODO(BEAM-9602): Provide support for dynamic timer

@boyuanzz boyuanzz changed the title [BEAM-9562] Remove TimerSpec from ParDoPayload [BEAM-9562] Remove TimerSpec from Proto Mar 26, 2020
@boyuanzz
Copy link
Contributor Author

Retest all please

Copy link
Member

Choose a reason for hiding this comment

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

You can rename this method to to_runner_api and remove the method below.

@lukecwik
Copy link
Member

Run Java Flink PortableValidatesRunner Streaming

@boyuanzz
Copy link
Contributor Author

Run Java Flink PortableValidatesRunner Streaming

@boyuanzz
Copy link
Contributor Author

Run Java PreCommit

@boyuanzz
Copy link
Contributor Author

Run JavaPortabilityApi PreCommit

@boyuanzz
Copy link
Contributor Author

Run Java Flink PortableValidatesRunner Streaming

@boyuanzz
Copy link
Contributor Author

Run Portable_Python PreCommit

@boyuanzz
Copy link
Contributor Author

Run Python2_PVR_Flink PreCommit

@boyuanzz
Copy link
Contributor Author

Run Python PreCommit

@boyuanzz
Copy link
Contributor Author

Run Java_Examples_Dataflow PreCommit

@boyuanzz
Copy link
Contributor Author

Run Portable_Python PreCommit

@boyuanzz
Copy link
Contributor Author

Run Java Flink PortableValidatesRunner Streaming

@boyuanzz
Copy link
Contributor Author

All tests passed. Going to merge it. Thanks for your help!

@boyuanzz boyuanzz merged commit 33d78c5 into apache:master Mar 27, 2020
@suztomo
Copy link
Contributor

suztomo commented Mar 30, 2020

@boyuanzz @lukecwik Run Dataflow ValidatesRunner (beam_PostCommit_Java_ValidatesRunner_Dataflow) started failing after this PR:
https://builds.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Dataflow/4719/

History:

Screen Shot 2020-03-30 at 14 07 08

00:27:33 > Task :runners:google-cloud-dataflow-java:validatesRunnerLegacyWorkerTest
00:28:48 
00:28:48 org.apache.beam.sdk.transforms.ParDoTest$TimerFamilyTests > testTimerWithMultipleTimerFamilyUnbounded FAILED
00:28:48     java.lang.RuntimeException at ParDoTest.java:4770
00:28:48         Caused by: java.lang.IllegalArgumentException at ParDoTest.java:4770
00:42:57 
00:42:57 org.apache.beam.sdk.transforms.ParDoTest$TimerFamilyTests > testTimerFamilyEventTimeUnbounded FAILED
00:42:57     java.lang.RuntimeException at ParDoTest.java:4708
00:42:57         Caused by: java.lang.IllegalArgumentException at ParDoTest.java:4708

I appreciate if you can check whether the failure is related to this PR.

Created an issue: https://issues.apache.org/jira/browse/BEAM-9636

@boyuanzz
Copy link
Contributor Author

@boyuanzz @lukecwik Run Dataflow ValidatesRunner (beam_PostCommit_Java_ValidatesRunner_Dataflow) started failing after this PR:
https://builds.apache.org/job/beam_PostCommit_Java_ValidatesRunner_Dataflow/4719/

History:

Screen Shot 2020-03-30 at 14 07 08
00:27:33 > Task :runners:google-cloud-dataflow-java:validatesRunnerLegacyWorkerTest
00:28:48 
00:28:48 org.apache.beam.sdk.transforms.ParDoTest$TimerFamilyTests > testTimerWithMultipleTimerFamilyUnbounded FAILED
00:28:48     java.lang.RuntimeException at ParDoTest.java:4770
00:28:48         Caused by: java.lang.IllegalArgumentException at ParDoTest.java:4770
00:42:57 
00:42:57 org.apache.beam.sdk.transforms.ParDoTest$TimerFamilyTests > testTimerFamilyEventTimeUnbounded FAILED
00:42:57     java.lang.RuntimeException at ParDoTest.java:4708
00:42:57         Caused by: java.lang.IllegalArgumentException at ParDoTest.java:4708

I appreciate if you can check whether the failure is related to this PR.

Created an issue: https://issues.apache.org/jira/browse/BEAM-9636

Thanks for the notification. Looking.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants