[ https://issues.apache.org/jira/browse/FLINK-4265?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15402174#comment-15402174 ]
ASF GitHub Bot commented on FLINK-4265: --------------------------------------- Github user greghogan commented on the issue: https://github.com/apache/flink/pull/2294 This would replace `Delegate` and is much simpler. I placed it in the Java API package but it would not be visible to users through the `DataSet` API. The ultimate goal is to implicitly reuse operations performing the same computation on the same input `DataSet`. The optimizer cannot do this without understanding the UDF configuration and logic. Two instances of a UDF may be * incompatible, in which case a new result must be computed * the same, in which case the old result can be reused * different but compatible, in which case the UDF can merge the configurations and the new, shared result replaces the old result Replacing the old result requires a wrapper. Using `ProxyFactory` in `Delegate` has limitations as documented in FLINK-4257. With a `NoOpOperator` we can perform the same function by appending and then ignoring a dummy POJO operator. > Add a NoOpOperator > ------------------ > > Key: FLINK-4265 > URL: https://issues.apache.org/jira/browse/FLINK-4265 > Project: Flink > Issue Type: New Feature > Components: DataSet API > Affects Versions: 1.1.0 > Reporter: Greg Hogan > Assignee: Greg Hogan > Priority: Minor > Fix For: 1.1.0 > > > One recent feature of Gelly is algorithms which detect duplicated or similar > computation which can be shared. My initial implementation could only reuse a > {{DataSet}} result. Before committing to Flink this was updated to use a > javassist {{ProxyFactory}} allowing configuration to be merged and results to > be replaced. There were some issues, as identified in FLINK-4257. With a > {{NoOpOperator}} we can remove the use of {{ProxyFactory}} and resolve the > identified issues. > This ticket adds a {{NoOpOperator}} which is unwound in > {{OperatorTranslation.translate}}. The {{NoOpOperator}} contains a > {{DataSet}} which is accessed by a getter and setter. -- This message was sent by Atlassian JIRA (v6.3.4#6332)