damccorm opened a new issue, #20942:
URL: https://github.com/apache/beam/issues/20942

   if kw args of process function are declared before DnFnParam placeholders 
the fulfillment will shift to wrong index unexpectedly.
   
   For example if process has signature
   ```
   
    def process(element, an_arg='x', w=DoFn.WindowParam):
      window_start_1 = an_arg.start // this is
   ok, though unexpectedly
      window_start_2 = w.start // this is not ok, also unexpectedly, value of
   w is shifted onto an_arg, and w is DoFn.WindowParam, it throws exception 
_DoFnParam has no attribute
   'start'.
      
      ...
   ```
   
   at runtime the window param will be mapped onto 'an_arg' instead of w, and w 
will not be replaced with runtime value, causing confusing behaviors. (e.g. 
an_arg will be an instance of GlobalWindow or FixedWindow but w is still 
DoFn.WindowParam).
   
   Imported from Jira 
[BEAM-12446](https://issues.apache.org/jira/browse/BEAM-12446). Original Jira 
may contain additional context.
   Reported by: yichi.


-- 
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