Miscellaneous changes in 10.1 affecting backwards compatibility
The following changes in Apama 10.1 affect backwards compatibility to previous Apama versions:
The evaluation order of some of the operations in the interpreted EPL runtime has been changed and is now in line with the compiled EPL runtime. Anyone who is reliant on the old evaluation order may see a change of behavior. More specifically, the evaluation order for assignment operations and the lookup/store operations for the
dictionary and
sequence types have been changed. For assignment operations, the left-hand side is evaluated before the right-hand side. The expression to get the
dictionary or
sequence is evaluated before the expression to get the key or index.
For the sake of consistent naming, several SSL configuration options have been renamed in the standard connectivity plug-ins.
authentication/certificateAuthority is now
certificateAuthorityFile and no longer under
authentication.
authentication/certificate is now
authentication/certificateFile.
acceptUnrecognizedCertificates is now named
tlsAcceptUnrecognizedCertificates.
certificateAuthorityPath is now named
tlsCertificateAuthorityFile.
A new subsection
authentication has been added which now contains the following options:
authenticationType,
username (which has been renamed from
user), and
password.
If you are using the above SSL configuration options, it is recommended that you change your YAML configuration files to use the new names.
For the sake of consistent naming, the following elements in the YAML configuration file for the correlator have been renamed:
In the
correlator section:
runtime-cache has been renamed to
runtimeCacheDir.
In the
server section:
pidfile has been renamed to
pidFile.
In the
correlator section, under the
persistence entry:
snapshotInterval has been renamed to
snapshotIntervalMillis.
Note:
The
-PsnapshotInterval option of the
correlator executable has also been renamed to
-PsnapshotIntervalMillis. You can still use the old option name, but it is deprecated, and it is recommended that you now use the new name. See also
Starting the correlator.
In addition, the elements that were previously located in the messaging section of the YAML configuration file have been moved to the server section. These are maxOutstandingSecs and maxOutstandingKb. Note that the description for maxOutstandingKb has been corrected (it was wrongly called maxOutstandingBytes in the documentation for the previous version). It takes the same units as the -M command-line option.
If you are using the above elements, it is recommended that you change your YAML configuration files to use the new names.
The
engine_deploy tool now converts all of the options in a Software AG Designer launch configuration to the equivalent YAML configuration options. This may be a backwards-incompatible change if you had settings in your launch configuration that were previously being ignored. See also the information on
engine_deploy in
Correlator utility enhancements in 10.1.
Software AG Designer no longer sets the
CLASSPATH environment variable when it launches the correlator. This brings Software AG Designer behavior in line with deployment behavior (for example, Ant macros) which also does not set any classpath environment at the correlator level. EPL plug-ins which require classpaths to be set should do this via the
apama_java.xml configuration in Software AG Designer (as described in
Specifying the classpath in deployment descriptor files) or by starting the correlator with
-J-Djava.class.path=path.
This also applies to the IAF adapters, which have the classpath defined in their configurations. Software AG Designer no longer sets the
CLASSPATH environment variable when it launches the IAF. Therefore, any projects that relied upon that behavior should be changed to set the classpath in the IAF configuration files instead (as described in
The IAF configuration file).
Any Software AG Designer project containing queries now automatically requires the
Correlator-Integrated JMS Application Support bundle. This enhancement will only require an action on your part if your launch configuration uses the
Manual Ordering option for injections, in which case you will need to take care that the new JMS files are injected
before any query (
.qry) files. See also
Injections.
A
Universal Messaging cluster which has dropped below quorum of operating nodes is now considered completely down and is therefore disconnected, instead of remaining connected to a cluster which is non-functioning. In particular, this now means that it is not possible to start up a correlator if the cluster to which it is connecting is below quorum. If a cluster drops below quorum while the correlator is operating, the normal reconnect logic applies as it does in a single node or a cluster that has been entirely disconnected.
The query statistics are now updated every 10 seconds by default. In previous versions, they were updated every second. By sending a
SetQueryStatisticsPeriod event, you can now control the frequency of the statistics gathering or disable query statistics entirely. See also
Monitoring running queries.