kennknowles commented on code in PR #34348: URL: https://github.com/apache/beam/pull/34348#discussion_r2014585451
########## sdks/python/apache_beam/transforms/util.py: ########## @@ -949,6 +952,97 @@ def is_compat_version_prior_to(options, breaking_change_version): return False +def _default_window_reify_functions(should_keep_paneinfo): + globally_windowed = window.GlobalWindows.windowed_value(None) + MIN_TIMESTAMP = window.MIN_TIMESTAMP + + if should_keep_paneinfo: + + def reify_metadata( Review Comment: Ah, yes, I can explain: The update compatibility breaks when the encoded state that is shuffled changes: - The running pipeline will have a bunch of records that just include the timestamp and window. - The pipeline we are trying to replace it with will be expecting records that include the fuller metadata including pane info. So the idea of the new flag is that whenever we want to make a change that is incompatible, we can fork the existing code and put it in the attic, and at the start of `expand` we can redirect control flow to that code if a user requests it. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
