Correlator
PAM-28338
Copies of optionals in cyclic values are not persisted correctly.
A bug has been fixed where cloned optional values containing cyclic types could result in a corrupt persistence database which would crash the correlator when trying to recover.
PAM-28309
Monitors may not be garbage-collected sufficiently frequently - large strings.
Monitor instances now count the sizes of containers and strings and use these sizes to determine when to perform garbage collection.
This avoids excessive memory usage and improves performance if using persistence by reducing the amount of garbage objects persisted.
PAM-28269
Persistent monitors may not be garbage-collected sufficiently frequently - large containers.
Monitor instances now count the sizes of containers and strings and use these sizes to determine when to perform garbage collection.
This avoids excessive memory usage and improves performance if using persistence by reducing the amount of garbage objects persisted.
PAM-28248
Race to losing context names and state from persistence database.
A defect has been fixed to prevent a race condition in an edge case that could, if certain application patterns were followed, lead to a context losing its name and public flag (that is, not receiving events sent to the default channel).
PAM-28169
Crash in garbage collection in a persistent correlator: persisting an event on a queue incorrectly sets containingContext).
A correlator defect has been fixed where an event on a context queue at the point when a persistent snapshot was taken would be left in a slightly incorrect state. If the context that was processing it then performed certain actions, this could lead to a race condition whereby subsequent garbage collection of a string from the event in a monitor instance could crash.
PAM-28137
Deadlock in persistent correlator during CDP injection.
A rare deadlock which was introduced by a previous fix, has been fixed. This deadlock could occur when injecting a CDP containing event files into a persistent correlator.
PAM-27506
Flow control is to be added if persistence snapshots fail to complete in a reasonable time.
Tighter flow control has been implemented, blocking external senders sending events into a persistent correlator if the correlator has not been able to complete a persistent snapshot. This should avoid excessive queuing of JMS events in reliable receive databases.
PAM-27991
Crash in recovering a MonitorAdder of a non-persistent monitor instance.
A defect where the correlator could crash if recovered immediately after injecting a non-persistent monitor has been fixed.
PAM-27964
Monitor-internal events of non-persistent monitors should be persistable.
A defect where the correlator would not correctly handle monitor-internal events from other monitors in a persistent monitor accessed via the any type has been fixed.
PAM-27775
engine_debug cannot access numbers above 999.
The command line EPL debugger (engine_debug) and the EPL debugger available through Software AG Designer did not work with monitor instance IDs (or other numbers) above 999. This restriction has been removed.
PAM-27626
Terminated mThread’s dictionary contents are not removed from persistence database.
A correlator defect has been fixed which would leave redundant entries in the persistence database if a monitor instance was terminated while it had non-empty dictionary objects.
PAM-27370
Coassigning a cyclic object in a persistent monitor can cause the correlator to crash.
A defect with the incorrect persistence of an object with a cyclic data structure that is copied into a persistent monitor has been fixed.