Backwards incompatibility with persisted projects recovered to 5.3 from older versions
To support the new Queries feature in Apama 5.3, some internal (non-public) event definitions have been changed in ScenarioService.mon. The change will have no effect on most applications as this API is not officially supported or documented. However it may affect customers using a persistent correlator to maintain application state across an upgrade from Apama 5.2 (or earlier) to 5.3 (or later), if they also make use of scenarios, DataViews or the MemoryStore plug-in.
This is because the EPL that is recovered from the persistent store after the upgrade will use the older (pre-5.3) event definitions and these are not compatible with post-5.3 Scenario Service clients and dashboards, or with the MemoryStore plugin. As a result users may see event parsing failures logged by the correlator, and/or Scenario Service clients and dashboards reporting errors such as ScenarioService cannot parse event due to mismatch between the EPL event definition and the ScenarioService client.
In most cases it should still be possible to recover from a pre-5.3 persistent store without losing application state, provided the following actions are taken immediately after starting the correlator post-upgrade:
If using DataViews and the
DataViewService_Impl_Dict.mon monitor, delete it using
engine_delete com.apama.dataview.DataViewService_Impl_DictIf using MemoryStore and the
MemoryStoreScenarioImpl.mon monitor, delete it using
engine_delete com.apama.memorystore.MemoryStoreScenarioImplDelete any application Scenario definitions, using
engine_delete Scenario_SCENARIO_NAMENote that Scenario instances are never persistent so the state of any running Scenario instances would not be preserved across a correlator restart anyway.
Delete the Scenario Service EPL using
engine_delete com.apama.ScenarioRe-inject the latest version of the Scenario Service from
APAMA_HOME/monitors/ScenarioService.monIf using
MemoryStoreScenarioImpl (see above), reinject the latest version from
APAMA_HOME/monitors/data_storage/MemoryStoreScenarioImpl.monIf using
DataViewService_Impl_Dict (see above), reinject the latest version from
APAMA_HOME/monitors/DataViewService_Impl_Dict.monRe-inject any Scenario definitions that are part of your application
Send any events that are required to reinstantiate Scenario instances