EMG 6.0.6 - User's Guide
2. What's new in EMG 6.0
Below we list the new functionality in EMG 6.0.
The release includes database schema changes in tables "emguser" and "routelog" and "emgd -upgradedb" needs to be run after updating EMG. If you have a large "routelog" table this can take a substantial amount of time. Customers that are not using EMG together with MySQL are not affected by this.
2.1 Distributed data store using MongoDB (active/active)
EMG now supports MongoDB (http://www.mongodb.org) as a new backend for persisting message queues, open delivery report information and more. Since MongoDB supports clustering it enables multiple EMG nodes to share information thereby extending EMG high availability (HA) support to "active/active".
MongoDB support is only available on Linux 64-bit.
2.2 Certificate-based authentication
It is now possible to add an additional layer of security to user authentication when using SSL connections. When enabled the client needs to present a trusted certificate and the fingerprint of the certificate needs to be present in the user's profile.
2.3 Connector force close
Individual connectors can now be taken down or bounced via "emgclient" command or via a new operation (MGP_OP_FORCECLOSE) in the MGP api. This state is persisted on disk in order to survive a server restart.
2.4 Per-instance throughput info
The throughput over a specific connector instance can now be display using "emgstat" command or via MGP api. This make it possible to see the message throughput for a specific connection while it previously was only possible to see the total amount.
2.5 New MySQL driver
The MySQL driver in EMG has been replaced with the driver from the MariaDB project. The new driver is thread-safe and thereby the MySQL profile in server.cfg can use multiple instances which can increase performance under load.
2.6 Improved MySQL performance
Several performance improvements have been made including a new thread-safe MySQL driver from the MariaDB project.
2.7 Host-specific server.cfg
On startup emgd will now first load "server.cfg" and then look for a file named "server.cfg.<hostid>" and load it if available. This makes it possible to have a general server configuration on shared storage while being able to override parts of it for a specific node.
For example the "NODEID" keyword could be placed in the host-specific server.cfg while the rest of the config is placed in the general server.cfg.
2.8 Schema changes
New fields in routelog: "sourceaddrton", "sourceaddrnpi", "destaddrton",
"destaddrnpi" and "dlrvalue".
New index on routelog on field "origid" (set on delivery reports to map against message id on original message).
New field in emguser: "cert_fingerprint"