Release Notes
|
The most-significant update to UM version 6.1 is the introduction of the LBT-SMX transport type. See New Transport LBT-SMX.
The following new features and enhancements apply to UMS, UMP, and UMQ products.
Change Request | Description |
---|---|
Added LBT-SMX | |
7529 | Added the polling of context events when using lbm_context_process_events() with operational_mode (context) set to |
7664 | Ultra Messaging no longer sends a Topic Management Record (TMR) when an application deletes a receiver in a standard way with, for example lbm_rcv_delete(), when Dynamic Routers do not exist in the Topic Resolution domain. TMRs specifically inform a Dynamic Router that a receiver for a particular topic has been shutdown. (Without the presence of Dynamic Routers, TMRs become unnecessary network traffic.) |
7551 | Added SIGTERM to the list of signals that initiate clean shutdown of all Ultra Messaging daemons. |
4785 | Added the ability in the Java and .NET APIs to restrict receiver objects to a single LBMReceiverCallback with a new API: com::latencybusters::lbm::LBMReceiverAttributes::enableSingleReceiverCallback(). You can reduce latencies and increase throughput by using a single callback which removes the need for any synchronization of multiple callbacks within UM during message delivery. |
7752 | The Java API now supports Java version 1.7. |
The LBT-SMX (shared memory acceleration) transport is an Interprocess Communication (IPC) transport you can use for the lowest latency message streaming. LBT-SMX is faster, though more-restrictive than the LBT-IPC transport. Like LBT-IPC, sources can publish topic messages to a shared memory area from which receivers can read topic messages. Unlike LBT-IPC, the native APIs for the LBT-SMX transport are not thread safe and do not support all UM features such as message batching or fragmentation.
You can use either the native LBT-SMX API calls, lbm_src_buff_acquire() and lbm_src_buffs_complete() to send over LBT-SMX or you can use lbm_src_send_*() API calls. The existing send APIs are thread safe with SMX, but they incur a synchronization overhead and thus are slower than the native LBT-SMX API calls.
LBT-SMX operates on the following Ultra Messaging 64-bit packages:
The example applications lbmlatping.* and lbmlatpong.* show how to use the native LBT-SMX API calls. All three APIs (C API, Java API, and .NET API) have identically named example applications. Other example applications can use the LBT-SMX transport with the use of a UM configuration file containing source transport lbtsmx. You cannot use LBT-SMX with example applications for features not supported by LBT-SMX, such as lbmreq.*, lbmresp.*, lbmrcvq.* or lbmwrcvq.*.
The LBT-SMX configuration options are similar to the LBT-IPC transport options. See Transport Transport LBT-SMX Operation Options.
You can use Automatic Monitoring, UM API retrieve/reset calls, and LBMMON APIs to access LBT-SMX source and receiver transport statistics. To increase performance, the LBT-SMX transport does not collect statistics by default. Set the UM configuration option transportlbtsmxmessagestatisticsenabledcontext to 1 to enable the collection of transport statistics.
The following new features and enhancements apply to UMP and UMQ products.
The following new features and enhancements apply to the UMQ product.
The following new features and enhancements apply to the Dynamic Routing Option (DRO).
The following bug fixes apply to UMS, UMP, and UMQ products.
Change Request | Description |
---|---|
7656 | Fixed a problem with lbm_set_umm_info() that caused it to always return 0 (success). The function now returns -1 on a parsing error of a returned UMM configuration file, UMM Daemon login error or a communications error with the UMM Daemon. |
The following bug fixes apply to UMP and UMQ products.
Change Request | Description |
---|---|
7606 | When a receiver tries to register with a store using a RegID in use by another receiver, the application error log message now includes the RegID: |
7604 7666 | When a source tries to register with a store using a RegID in use by another source, the application error log message now includes the RegID, store number and the store's IP address and port: |
7543 | Corrected a problem with UMP stores that resulted in stability acknowledgements sent from a persistent store to the source during a store proxy source election contained invalid topic and transport indexes. As a result, the source discarded the stability acknowledgements. |
7658 | The umestored Web Monitor has been changed to correctly display the Request Receive Rate, Service Rate and Drop Rate. Previously the rates only showed activity for the last second instead of a true activity per second rate. As a result the rates often displayed 0 (zero). A link has been added to the Persistent Store Page to reset the rate calculation. The rates can be reset on a per store basis. |
7262 | When a store receives a retransmission request from an unknown source, the error log message now includes the IP address and port number of the unknown source: Core-5688-696: received retransmit request for unknown source 192.168. 101.112:45512 |
The following bug fixes apply to the UMQ product.
Change Request | Description |
---|---|
7545 | Corrected an issue that prevented a UMQ receiver for a dead letter topic from registering with a queue if any queue instance did not have a record of the creation of the dead letter topic. |
The following bug fixes apply to the Dynamic Routing Option (DRO).