Apama 10.15.0 | Developing Apama Applications | Developing Apama Applications in EPL | Using EPL Plug-ins | Using the distributed MemoryStore | Migrating from BigMemory Max to TCStore
 
Migrating from BigMemory Max to TCStore
If you have an existing Apama application that uses BigMemory Max and you wish to move it to use TCStore instead, simply open the Distributed MemoryStore editor in Software AG Designer, remove the BigMemory Max store and add a new TCStore using the same store name. See Adding a distributed store to a project for more details.
Configure the new TCStore instance as described in TCStore (Terracotta) driver details. There is typically no need to migrate any driver configuration settings from BigMemory Max to TCStore, since the options for each driver are quite different, and because TCStore requires a lot less configuration on the client side than BigMemory Max. In most cases, the default TCStore driver settings should be left unchanged. If you had configured search attributes or were using custom converters in BigMemory Max, there is no need to do anything similar when moving to TCStore, as row values in TCStore are stored in a standard format and are automatically searchable. The initialMinClusterSize and useCompareAndSwapMap (per-table) settings are supported by BigMemory Max but cannot be set for TCStore. The TCStore driver does not support client-side caching, so there is no need to migrate any cache-related settings from BigMemory Max, or to pass an off-heap storage option (-XX:MaxDirectMemorySize) to the correlator.
In most cases, there will be no need to make changes to your EPL application. If you wish, you can make use of features available in the TCStore driver but not BigMemory Max, such as accessing row fields that are not in the schema. If using row changed notifications, the TCStore driver will sometimes send a MissedRowChanges event if it has detected that some of the RowChanged events may have been dropped; BigMemory Max does not support sending MissedRowChanges notifications.
The BigMemory Max driver sets new values in the RowChanged event, but the TCStore driver does not. Therefore, if you are migrating an application from BigMemory Max and you need the current or new values, you need to explicitly get them (using Table.get or similar).
See also the description of com.apama.memorystore.RowChanged in the API Reference for EPL (ApamaDoc) .
Note:
There is no way to automatically transfer data from BigMemory Max to a Terracotta server for use by TCStore.