[
https://issues.apache.org/jira/browse/BEAM-12446?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17420138#comment-17420138
]
Beam JIRA Bot commented on BEAM-12446:
--------------------------------------
This issue was marked "stale-P2" and has not received a public comment in 14
days. It is now automatically moved to P3. If you are still affected by it, you
can comment and move it back to P2.
> Wrong process function arg order cause unexpected runtime value shift
> ---------------------------------------------------------------------
>
> Key: BEAM-12446
> URL: https://issues.apache.org/jira/browse/BEAM-12446
> Project: Beam
> Issue Type: Bug
> Components: sdk-py-core
> Reporter: Yichi Zhang
> Priority: P3
> Time Spent: 10m
> Remaining Estimate: 0h
>
> 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
> {code:java}
> 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'.
>
> ...{code}
> 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).
--
This message was sent by Atlassian Jira
(v8.3.4#803005)