[
https://issues.apache.org/jira/browse/FLINK-7008?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16066261#comment-16066261
]
ASF GitHub Bot commented on FLINK-7008:
---------------------------------------
Github user dianfu commented on a diff in the pull request:
https://github.com/apache/flink/pull/4195#discussion_r124500774
--- Diff:
flink-libraries/flink-cep/src/main/java/org/apache/flink/cep/nfa/NFA.java ---
@@ -237,8 +254,15 @@ public boolean isEmpty() {
computationState.getCounter());
newComputationStates = Collections.emptyList();
+ nfaChanged = true;
--- End diff --
I think this may not always be true. For example, the
`eventSharedBuffer.release`(NFA:250) may already have released the events that
will be pruned. This will cause the pruning sharedBuffer do nothing. Thoughts?
Anyway, leave it here will be more safe.:)
> Update NFA state only when the NFA changes.
> -------------------------------------------
>
> Key: FLINK-7008
> URL: https://issues.apache.org/jira/browse/FLINK-7008
> Project: Flink
> Issue Type: Improvement
> Components: CEP
> Affects Versions: 1.3.1
> Reporter: Kostas Kloudas
> Assignee: Dian Fu
> Fix For: 1.4.0
>
>
> Currently in the {{AbstractKeyedCEPPatternOperator.updateNFA()}} method we
> update the NFA state every time the NFA is touched. This leads to redundant
> puts/gets to the state when there are no changes to the NFA itself.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)