-
Bug
-
Resolution: Unresolved
-
Major
-
None
-
5.3.0.Final
-
None
Expectations:
When rules use temporal operators to relate two events in time, it is expected that those both events will be expired when the session clock advances far enough. In the unit tests I have provided you'll see that there are two event types A and B. Each rule tries to relate these two events using a different temporal operator. After the rules match, both A and B should be expired, and a String should be inserted into working memory to signal to the test that the rule worked.
Observed behavior:
When A and B are inserted into their respective entry points the rules do match, and the appropriate String is inserted into working memory. B is also retracted. However A remains in working memory forever, causing heap space exceptions if there are many A's to process. It can also be seen using JMX that the computed event expiration for B is 0, and for A is the maximum long value.