[ https://issues.apache.org/jira/browse/BEAM-1314?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16048581#comment-16048581 ]
Luke Cwik edited comment on BEAM-1314 at 6/14/17 1:35 AM: ---------------------------------------------------------- I believe this is more of an implementation detail of how the Java SDK works. Nothing in the model says that a DoFn which uses user state can't be re-used across different keys within the same bundle. I believe the flaws are within the usage of a KeyedWorkItem and how the current key propagates through all the context objects within Java SDK runners core. was (Author: lcwik): I believe this is more of an implementation detail of how the Java SDK works. Nothing in the model says that a DoFn which uses user state can't be re-used across different keys within the same bundle. I believe the flaws are within the usage of a KeyedWorkItem and how the current key propagates through all the context objects within the Java SDK runners core. > DoFn per-key lifecycle (Setup/Teardown) > --------------------------------------- > > Key: BEAM-1314 > URL: https://issues.apache.org/jira/browse/BEAM-1314 > Project: Beam > Issue Type: Wish > Components: beam-model > Reporter: Eugene Kirpichov > > DoFn's that use state and timers are implicitly per-key. Setup/Teardown > methods are usually used to establish expensive resources - long-standing > connections and such. > For per-key DoFn's, we'd often want to use these per-key, so it'd be good to > have ability in the model to ask that there be 1 instance of the DoFn per > key, reused between e.g. different timer or trigger firings for this key, but > not used for other keys. > E.g. this would be particularly useful for Splittable DoFn - for its ability > to reuse expensive resources between checkpoints. -- This message was sent by Atlassian JIRA (v6.4.14#64029)