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-2687] Correctly handle read-before-write semantics for user state. #7102

Merged
merged 6 commits into from Nov 28, 2018

Conversation

robertwb
Copy link
Contributor

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

@robertwb
Copy link
Contributor Author

R: @ryan-williams

Copy link
Contributor

@ryan-williams ryan-williams left a comment

Choose a reason for hiding this comment

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

code lgtm, though I'm not familiar with these code-paths; left a few comments on some of the comments 😀

sdks/python/apache_beam/runners/worker/bundle_processor.py Outdated Show resolved Hide resolved
yield buffer

def is_buffered_correctly(actual):
# Issues pickling closure of self on jenkins.
Copy link
Contributor

Choose a reason for hiding this comment

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

some more detail about this might be useful, unless it would be obvious to someone more familiar with the code

self = FnApiRunnerTest('__init__')
# assert sorted(sum((list(b) for b in actual), [])) == elements
# assert max(len(list(buffer)) for buffer in actual) == buffer_size
self.assertEqual(sorted(sum((list(b) for b in actual), [])), elements)
Copy link
Contributor

Choose a reason for hiding this comment

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

for my education, what might actual be here? is it nondeterministic based on timer firings?

@robertwb
Copy link
Contributor Author

Thanks, PTAL.

@ryan-williams
Copy link
Contributor

looks good, thanks!

@robertwb robertwb merged commit 4082ce5 into apache:master Nov 28, 2018
ajamato pushed a commit to ajamato/beam that referenced this pull request Nov 28, 2018
ajamato pushed a commit to ajamato/beam that referenced this pull request Nov 30, 2018
ajamato pushed a commit to ajamato/beam that referenced this pull request Nov 30, 2018
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

2 participants