[
https://issues.apache.org/jira/browse/BEAM-12446?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17374942#comment-17374942
]
Beam JIRA Bot commented on BEAM-12446:
--------------------------------------
This issue is assigned but has not received an update in 30 days so it has been
labeled "stale-assigned". If you are still working on the issue, please give an
update and remove the label. If you are no longer working on the issue, please
unassign so someone else may work on it. In 7 days the issue will be
automatically unassigned.
> 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
> Assignee: Yichi Zhang
> Priority: P2
> Labels: stale-assigned
> 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)