Hi everyone, IterativeCondition defines a user-defined condition that decides if an element should be accepted in the pattern or not. The condition iterates over the previously accepted elements in the pattern and decides to accept a new element or not based on some statistic over elements. In certain accumulation scenarios, for example filtering goods with more than 1,000 orders within 10 minutes, accumulation operation needs to perform in IterativeCondition. The accumulation behaivor causes the repeated calculation of the accumulation state, because an accumulation state may execute multiple transitions with condition and each condition invoker will be accumulated once.
I would like to start a discussion about FLIP-244[1], in which AccumulationStateCondition is proposed to define the IterativeCondition with accumulation and filter the accumulation state with accumulator. The accumulation state is consistent within the lifecycle of a matching NFA, on other words, user doesn't need to pay attention to when the accumulation state is initialized and cleaned up. Please take a look at the FLIP page [1] to get more details. Any feedback about the FLIP-244 would be appreciated! [1] https://cwiki.apache.org/confluence/display/FLINK/FLIP-244%3A+Support+IterativeCondition+with+Accumulator+in+CEP+Pattern Best regards, Mingde Peng