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]

Reply via email to