Github user Aitozi commented on a diff in the pull request:
https://github.com/apache/flink/pull/6168#discussion_r195792448
--- 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 --
I think over it again, the content of the `sharedBuffer` make difference
to the result of the `getEventsForPattern`, so the result should be update
with the change of the `sharedBuffer`. But i think we only have to reset the
`shouldUpdate` flag to `true` here rather than create a context again, right?
@dawidwys
---