EMG 5.3.2 - User's Guide
2. What's new in EMG 5.3
Below we list the the major new functionality in EMG 5.3.
Important note! If using EMG with a MySQL database, schema changes will need to be applied ("emgd -upgradedb") after switching to EMG 5.3. Message id has changed from INTEGER to BIGINT in tables like routelog and connectorlog which can contain many entries and thereby take a long time to upgrade. We recommend dumping the production database and loading it into a test environment where a test upgrade is performed.
2.1 Linux 64-bit
We now provide a 64-bit version of EMG for Linux. Most important, the 64-bit support enable EMG to use more than 4 GB of memory thereby enabling larger message queues and internal data structures (primarily used for open deliver report entries).
2.2 64-bit message ids
The message id EMG so far has been a 32-bit integer. At an average throughput of 100 mps it means that the message id will wrap and start over at 1 after approx 248 days of operation.
Another issue has been the lacking possibility of using node-unique message ids when running multiple EMG nodes at same site.
EMG 5.3 addresses this by using a 64-bit integer for message ids, allowing a max value for the actual message id of 10^15 - 1 (999999999999999) and reserving the top 4 digits to a "node id" (which by default is 0 and which can be set to a max value of 8999 using general keyword "NODEID"). This will allow for more than 317000 years of operation (per node) at 100 mps before wrapping.
Note: 64-bit message ids are used in both 32-bit and 64-bit versions of EMG 5.3.
EMG Java API 2.0 or later is required to interface EMG 5.3 from Java applications.
Database schema change.
Charging of messages has been refactored and we have introduced new database fields to support this.
Each message must be tagged with a message charge (customer fee) and optionally a message cost (supplier fee) by a plugin. This information will end up in new fields ("charge" and "charge_cost" respectively) in table "routelog" for each message. In table "emguser" a new NUMERIC(13,4) field "charge_balance" has been introduced to keep track of the charge balance per account.
Separately licensed option. Database schema change.
2.4 Logging rewrite
We have rewritten the internals of the logging components in order to improve performance. The keyword "NOLOGSERVER" has been obsoleted and no longer has any effect in EMG configuration.