[
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)