Release Notes
|
The most-significant update to UM version 6.9 is the introduction of certificate-based security (authentication and encryption).
The following new features and enhancements apply to UMS, UMP, and UMQ products.
TCP-based communication can now enable compression and/or encryption. Other protocols (udp, multicast, etc.) are not supported for compression or encryption at this time. See Encrypted TCP.
The LBT-RM transport type now supports a "zero-copy" API for sending messages. See Zero-Copy Send API.
The LBT-RM transport type now supports high-resolution timestamps for packet transmission and reception for customers using Solarflare network interfaces and the Onload driver. See highresolutiontimestamps.
Performance has been improved for sending messages on all transport types by reducing use of dynamic memory. This reduces the send time and also reduces the variance of send times ("jitter").
The following new features and enhancements apply to UMP and UMQ products.
An API has been added to start and stop a store from inside an application process. See Callable Store.
The store has been enhanced to log thread IDs for each of its internal threads. The log messages are of the form 'Store-8079-x
'.
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 |
---|---|
9759 | The UM Log Messages chapter of the "Operations Guide" did not correctly order messages numerically. For example, "Core-1234-10" would come before "Core-1234-9". The order has been corrected. |
9484, 9566 | UM generally reacts to an exhaustion of dynamic memory (heap) with a warning, and attempts to continue execution in a crippled manner. UM has now been changed to react to exhaustion of dynamic memory by triggering a fatal assertion. |
9582 | When the C API lbm_register_fd() is used to register a socket, and an event queue is used to deliver socket events, there is a race condition that can cause delivery of a spurious read event. An application that responds by doing a blocking read can experience an unbounded block. A non-blocking read can return no data. UM now effectively prevents this spurious read event. |
9625 | When the resolver_unicast_daemon (context) option is read multiple times with the same ' UM now detects duplicate IP:PORT and maintains a single reference to that lbmrd. |
9672 | The multiple_receive_maximum_datagrams (context) configuration option enables the use of recvmmsg() to improve the efficiency of reading UDP data. However, multiple datagrams were not actually read. No improper behavior results, but the potential efficiency improvement is not delivered. UM now properly enables reception of multiple datagrams. |
9591 | Under some circumstances, when using the epoll form of FD management, the operating system can return an error to UM that UM does not know how to handle. UM has been triggering a fatal assertion in these cases. Further testing has suggested that some of these unexpected statuses can be benign. So UM has now been changed to use warning asserts when epoll returns an unexpected bad status. |
9654 | Fixed a potential crash with Windows Completions Ports due to memory corruption during a TCP disconnect. |
The following bug fixes apply to UMP and UMQ products.
Change Request | Description |
---|---|
9115 | The store now prints BOS and EOS events to its log. |
9276 | If an RPP store configured for reduced FD storage fails and restarts immediately after a receiver registers, that receiver will sometimes lose messages. Fixed by ensuring that the restarted reduced FD store starts at the correct sequence number. |
9626 | When the ume_store (source) and/or ume_store_name (source) configuration option is read multiple times referring to the same store, the context adds multiple references to that store, leading to wasted resources. UM now detects duplicate stores and maintains a single reference to that store. |
The following bug fixes apply to the UMQ product.
Change Request | Description |
---|---|
9494 | UMM did not include the option umq_queue_activity_timeout (context). It has been added. |
9555 | When the C API lbm_rcv_topic_attr_setopt() is used to set a value for umq_ulb_source_activity_timeout (receiver), the value was not set correctly. Note that using text-based configuration files worked correctly for that option. The C API function is now corrected. |
9640 | When the broker configuration option is read multiple times referring to the same broker, the context adds multiple references to that broker, leading to wasted resources. UM now detects duplicate brokers and maintains a single reference to that broker. |
The following bug fixes apply to the Dynamic Routing Option (DRO).
Change Request | Description |
---|---|
8880 | UM Router daemons using dual-tcp peer links with non-"select" FD management types might issue many ' The Router now hard-codes peer links to use select for Unix and wsaeventselect for Windows. This avoids the errors. |
9694, 9688 | A race condition can cause a portal to become deadlocked and not pass traffic. The portal locking has been corrected. |