[ 
https://issues.apache.org/jira/browse/BEAM-3736?focusedWorklogId=499729&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-499729
 ]

ASF GitHub Bot logged work on BEAM-3736:
----------------------------------------

                Author: ASF GitHub Bot
            Created on: 12/Oct/20 23:34
            Start Date: 12/Oct/20 23:34
    Worklog Time Spent: 10m 
      Work Description: tvalentyn commented on a change in pull request #13048:
URL: https://github.com/apache/beam/pull/13048#discussion_r503585072



##########
File path: sdks/python/apache_beam/transforms/core.py
##########
@@ -1970,10 +1985,14 @@ def add_input_types(transform):
       return combined
 
     if self.has_defaults:
-      combine_fn = (
-          self.fn if isinstance(self.fn, CombineFn) else
-          CombineFn.from_callable(self.fn))
-      default_value = combine_fn.apply([], *self.args, **self.kwargs)
+      combine_fn = copy.copy(

Review comment:
       I see. I wonder if calling setup/teardown on during pipeline submission 
may be undesireable in some cases.
   One option to offer flexibility is to use introduce default_value() method 
in CombineFn, and move the setup/teardown call in that method, trying this out 
in: https://github.com/apache/beam/pull/13081.
   




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

For queries about this service, please contact Infrastructure at:
[email protected]


Issue Time Tracking
-------------------

    Worklog Id:     (was: 499729)
    Time Spent: 4h 50m  (was: 4h 40m)

> Add SetUp() and TearDown() for CombineFns
> -----------------------------------------
>
>                 Key: BEAM-3736
>                 URL: https://issues.apache.org/jira/browse/BEAM-3736
>             Project: Beam
>          Issue Type: Improvement
>          Components: beam-model, sdk-py-core
>            Reporter: Chuan Yu Foo
>            Assignee: Kamil Wasilewski
>            Priority: P3
>          Time Spent: 4h 50m
>  Remaining Estimate: 0h
>
> I have a CombineFn that has a large amount of state that needs to be loaded 
> once before it can add_input or merge_combiners (for example, the CombineFn 
> might load up a large lookup table used for combining). 
> Right now, to initialise this state, for each of the methods, I check if the 
> state has already been initialised, and if not, I initialise it. It would be 
> nice if CombineFn provided a SetUp() method that is called once to initialise 
> this state (and a corresponding TearDown() method to clean up this state if 
> necessary).



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to