Release 10.1.0
Software AG Designer
PAM-26968
Cannot install Apama products incrementally using Command Central.
Once Apama server is installed via Command Central, attempting to install components via Command Central that have a dependency on Apama server will fail. The only alternative is to install all components that have a dependency on Apama server at the same time.
This issue has been fixed.
Adapters
PAM-28320
RabbitMQ should be enabled as a JMS provider.
Support for RabbitMQ as a JMS provider has been added. There is no drop-down to select RabbitMQ in Software AG Designer 10.1, but RabbitMQ can be configured using JNDI configuration.
ADBC
PAM-28264
Memory leak in ADBCHelper API doSQLQuery.
A per-query memory leak in the ADBC adapter has been fixed when running multiple select queries.
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.
EPL Plug-ins
PAM-28374
Profiling showing zero for getTotal output for plug-ins.
The profiling option getTotal no longer incorrectly returns zero for all columns other than cumulative time and CPU time.
PAM-28159
HTTP server and client fail to parse unknown content-type parameter.
A bug has been fixed where the HTTP server and transport would reject messages which had a Content-Type with a non-standard parameter which also did not have a charset parameter. These messages are now accepted and the non-standard parameters are ignored.
PAM-27910
MQTT transport requires explicit configuration of SSL options for non-SSL use.
The default value for acceptUnrecognizedCertificates in the MQTT bundle has been corrected to be false rather than the empty string.
PAM-27816
Occasional core dump in MQTTAsync_receiveThread / MQTTAsync_retry.When the MQTT transport dropped a connection to a broker due to an authentication or SSL error, on very rare occasions the transport would lock up or cause a correlator crash. This has now been fixed.
PAM-27360
HTTPClient inserts nulls into data stream around the 100k mark.
The HTTP client with long messages could insert nulls into the message if it was longer than 100k (but not all bytes after 100k), which then caused the resulting string to appear truncated. The result would be 100k of data, then 100k of 0s, followed by more data.
This has been fixed so that all the message data is now available.
PAM-27296
Wrong object type created when a Channel object is constructed from a context inside a Java plug-in.
In a Java plug-in, if a com.apama.epl.plugin.Channel object was constructed from a com.apama.epl.plugin.Context, the returned object type was com.apama.epl.plugin.Context - which is incorrect.
This issue has been fixed such that the expected object type is now returned.
PAM-27150
Sending events to Kafka at a high rate can result in some being dropped.
This is a Kafka issue. The producer should not be dropping events when there is progress. The workaround is defaulting request.timeout.ms to Integer.MAX_VALUE. This value is now the default (the user can override it though).
Dashboards
PAM-28121
Improper handling of decimal types with --enhancedQuery mode.Decimals support in the dashboards as double with enhancedQuery mode is now enabled.
Other
PAM-26580
engine_management return code is 0 for failure.In the majority of cases, engine_management gave a zero return code in the previous release, even when it failed. It will now give a non-zero return code on failure.