[ https://issues.apache.org/jira/browse/FLINK-6938?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16056838#comment-16056838 ]
ASF GitHub Bot commented on FLINK-6938: --------------------------------------- Github user wuchong commented on a diff in the pull request: https://github.com/apache/flink/pull/4145#discussion_r123139456 --- Diff: flink-libraries/flink-cep/src/main/java/org/apache/flink/cep/operator/AbstractKeyedCEPPatternOperator.java --- @@ -126,6 +129,7 @@ public AbstractKeyedCEPPatternOperator( this.isProcessingTime = Preconditions.checkNotNull(isProcessingTime); this.keySerializer = Preconditions.checkNotNull(keySerializer); this.nfaFactory = Preconditions.checkNotNull(nfaFactory); + this.conditionRegistry = nfaFactory.createNFA().getConditionRegistry(); --- End diff -- I have tried that, but found it would touch too many codes. We need to change `process` signature to add the `conditionRegistry` parameter, this need to change many codes. And we use `NFACompiler.compile` to compile the given pattern into a NFA, but without `conditionRegistry`, that's why I have to put `conditionRegistry` in NFA. This may look a bit wired. But I'm not sure which way is better. > IterativeCondition should support RichFunction interface > -------------------------------------------------------- > > Key: FLINK-6938 > URL: https://issues.apache.org/jira/browse/FLINK-6938 > Project: Flink > Issue Type: Sub-task > Components: CEP > Reporter: Jark Wu > Assignee: Jark Wu > Fix For: 1.4.0 > > > In FLIP-20, we need IterativeCondition to support an {{open()}} method to > compile the generated code once. We do not want to insert a if condition in > the {{filter()}} method. So I suggest make IterativeCondition support > {{RichFunction}} interface. -- This message was sent by Atlassian JIRA (v6.4.14#64029)