Thomas Groh created BEAM-452: -------------------------------- Summary: Implement DoFn per-instance setup and teardown methods Key: BEAM-452 URL: https://issues.apache.org/jira/browse/BEAM-452 Project: Beam Issue Type: Bug Components: runner-dataflow, runner-direct, runner-flink, runner-spark, sdk-java-core Reporter: Thomas Groh Assignee: Thomas Groh
https://docs.google.com/document/d/1LLQqggSePURt3XavKBGV7SZJYQ4NW8yCu63lBchzMRk/edit BEAM-38 permits DoFns to be reused across bundles. DoFn instances may need to do per-instance setup and teardown, and to avoid redoing the work per-bundle, the system should provide hooks to call before a DoFn is first used and after it will no longer be used. DoFn#setup is called before any other calls to DoFn methods. DoFn#teardown is called after any method throws an exception, or when the runner will no longer use a DoFn instance (e.g. when it evicts it from a cache). Runners must call these methods appropriately in all cases (including if a DoFn is used exactly once, for a single bundle, and discarded). -- This message was sent by Atlassian JIRA (v6.3.4#6332)