[
https://issues.apache.org/jira/browse/FLINK-9588?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16520411#comment-16520411
]
ASF GitHub Bot commented on FLINK-9588:
---------------------------------------
Github user dawidwys commented on a diff in the pull request:
https://github.com/apache/flink/pull/6168#discussion_r197461704
--- Diff:
flink-libraries/flink-cep/src/main/java/org/apache/flink/cep/nfa/NFA.java ---
@@ -609,7 +611,7 @@ public void close() throws Exception {
startTimestamp);
//check if newly created state is
optional (have a PROCEED path to Final state)
- final State<T> finalState =
findFinalStateAfterProceed(sharedBuffer, nextState, event.getEvent(),
computationState);
+ final State<T> finalState =
findFinalStateAfterProceed(new ConditionContext<>(this, sharedBuffer,
computationState), nextState, event.getEvent());
--- End diff --
Yes that is true the shared buffer might change but only "after" the CS. I
mean those changes can't affect partial match for current Computation State.
Therefore I would suggest to remove the flag completely and just keep the lazy
evaluation of `matchedEvents` in `ConditionContext` by comparing it to null:
if (matchedEvents == null) {
this.matchedEvents = nfa.extractCurrentMatches(sharedBuffer,
computationState);
}
> Reuse the same conditionContext with in a same computationState
> ---------------------------------------------------------------
>
> Key: FLINK-9588
> URL: https://issues.apache.org/jira/browse/FLINK-9588
> Project: Flink
> Issue Type: Improvement
> Components: CEP
> Reporter: aitozi
> Assignee: aitozi
> Priority: Major
> Labels: pull-request-available
>
> Now cep checkFilterCondition with a newly created Conditioncontext for each
> edge, which will result in the repeatable getEventsForPattern because of the
> different Conditioncontext Object.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)