Release Notes

UM Version 6.7.1

The most significant update to UM version 6.7 is the inclusion of the HP NonStop platform for the UMP product. Note that daemons are not supported on NonStop, only client applications.

Attention
  There are some special upgrade instructions for UM versions 6.7 and beyond that will affect a small percentage of users upgrading from pre-6.7 versions of UM. See Special Upgrade Instructions for 6.7. For general upgrade instructions, see Upgrade Procedure. You are also advised to inspect the full list of Deprecations.

# Enhancements for 6.7.1 <-

## Streaming Enhancements for 6.7.1 <-

The following new features and enhancements apply to UMS, UMP, and UMQ products.

- You can now set how a context learns the ID of its own Topic Resolution Domain (TRD) with option resolver_domain_id_active_propagation_timeout (context). This provides more flexibility in situations where you might need to change the Topic Resolution Domain (TRD) ID values for contexts.

- Log messages '`Core-5688-1882`' and '`Core-5688-1891`' now display delay times in seconds and milliseconds, instead of seconds only.

## Persistence Enhancements for 6.7.1 <-

The following new features and enhancements apply to UMP and UMQ products.

- Ultra Messaging Persistence Edition is now available on the HP NonStop platform. For information on limitations, see the Documentation Introduction.

## Queuing Enhancements for 6.7.1 <-

Note
  The brokered queuing and UM JMS functionalities were replaced in version 6.8, so most of these notes do not apply to more-recent versions of UM. However, ULB functionality is retained.

The following new features and enhancements apply to the UMQ product.

- None.

## Dynamic Router Enhancements for 6.7.1 <-

The following new features and enhancements apply to the Dynamic Routing Option (DRO).

- None.

# Fixed Problems and Limitations for 6.7.1 <-

## Streaming Fixed Problems and Limitations for 6.7.1 <-

The following bug fixes apply to UMS, UMP, and UMQ products.

Change Request | Description
--- | ---
3944 | The '`lbmpong.c`' sample application might cause the following fatal assert: `FATAL: failed assertion [src->exbq!=NULL] at line 2155 in ../../../../src/lib/lbm/lbmsrc.c`
6186 | If the function lbm_deserialize_response() has a NULL pointer for the second variable, the function returns an LBM_EINVAL. As a solution, the lbm_deserialize_response() function now fatally asserts if NULL is passed for the '`lbm_context_t*`' and/or '`lbm_serialized_response_t*`' arguments.
7526 | If an Ultra Messaging application's context thread processing is delayed significantly, the LBT-RM or LBT-RU receiver activity might time out before the application adds a receiver socket file descriptor to the Ultra Messaging file descriptor set. This causes a memory corruption.
7945 | When delivering a no source notification to a UM wildcard receiver application, it may experience a segmentation fault.
8428 | The lbm_event_dispatch() function might invoke a user callback before the associated event queue has been shut down. As a solution, the lbm_event_dispatch() function now checks the event queue shutdown status before calling a user callback, but still always processes UNBLOCK events.
8517 | An Ultra Messaging application using fd management type select might fatally assert with the following message: `FATAL: failed assertion [index<fdm->select_fd_count]`
8750 | An HFX receiver with option receiver_callback_service_time_enabled (context) option set to 1 might crash or operate without getting any data.
8788 | Ultra Messaging Datagram Bypass Layer (DBL) still uses Myricom DBL version 1. As a solution, Ultra Messaging now uses Myricom DBL version 3.
8812 | Ultra Messaging range configuration options pairs do not validate values to ensure that the low range value is less or equal to the high range value.
8856 | The lbmrd process no longer requires a license to run, but the help menu still references the "-f" command line option/value, which has no effect.
8874 | When referenced from an IDE, the Ultra Messaging .NET API libraries do not specify Informatica as creator.
8879 | An Ultra Messaging application using fd management type `epoll` might have file descriptors silently become unregistered.
8898 | A Windows receiver using FD management type wincompport might crash with the following log message: `Core-5688-3839: lbm_fd_handle_events line 4463: wincport recv WSA err 0 (Not a WSA error.) from peer not a connected socket`
8919 | For the LBT-RM transport, the lbm_rcv_transport_stats_lbtrm_t::nak_stm_min and lbm_rcv_transport_stats_lbtrm_t::nak_tx_min statistics might contain incorrect values, such as MAX_INT+1 or 0x100000000, due to being incorrectly initialized. As a solution, these statistics are now correctly initialized to 0.
9013 | Ultra Messaging unicast applications might process topic resolution data from lbrmd resolver daemons that they are not configured to use.
9040 | When sending serialized Ultra Messaging responses via the DRO, the Ultra Messaging request application might not receive them.
9077 | When you set option resolver_multicast_incoming_address (context) to 0.0.0.0, the Ultra Messaging application exits during topic resolution.

## Persistence Fixed Problems and Limitations for 6.7.1 <-

The following bug fixes apply to UMP and UMQ products.

Change Request | Description
--- | ---
8933 | An Ultra Messaging Java application might crash when using the com::latencybusters::lbm::UMERegistrationIdExCallbackInfo or com::latencybusters::lbm::UMERecoverySequenceNumberCallbackInfo callback methods.
5141 | If you run the Java umesrc sample application without specifying a store, the application should exit, but does not. As a solution, the Java umesrc now displays an error message and exits if you do not specify a store.
6959 | When a UMP receiver subscribes to a UMP source with option ume_use_store (receiver) enabled, the application can not disable the option use_late_join (receiver).
8140 | When option source_includes_topic_index (context) is enabled, the source string delivered to the UME recovery sequence number callback does not include the topic index.
8963 | If a store with receiver paced persistence enabled experiences transport-level loss, then a UMP source might fail to decrement the flight size count and block indefinitely without sending.
8995 | The .NET umesrc sample application crashes when using the "-S" command line option to input a valid store IP and port.
9010 | The .NET umesrc sample application sometimes crashes when the store name length equals 0.

## Queuing Fixed Problems and Limitations for 6.7.1 <-

Note
  The brokered queuing and UM JMS functionalities were replaced in version 6.8, so most of these notes do not apply to more-recent versions of UM. However, ULB functionality is retained.

The following bug fixes apply to the UMQ product.

Change Request | Description
--- | ---
8950 | When a Java source uses ULB and sends messages with com::latencybusters::lbm::LBMSourceSendExInfo without a per-send client object, a memory leak occurs. As a solution, the call to the lbm_src_send_count_expected_terminals() function occurs only when there is a per-send client present.
8966 | When a queue daemon terminates and restarts with a reset state, the source might resubmit a message that the queue daemon has already stabilized.
8967 | When the queue daemon receives messages via UMQ pro-active retransmission, some of these messages might not have the LBM_MSG_FLAG_UMQ_RESUBMITTED flag.

## Dynamic Router Fixed Problems and Limitations for 6.7.1 <-

The following bug fixes apply to the Dynamic Routing Option (DRO).

Change Request | Description
--- | ---
8859, 8871, 9002 | On UNIX platforms, DRO daemons using single-tcp peer links might incorrectly declare peer links as inactive, and attempt to tear down and re-establish the peer connection. As a solution, for UNIX platforms the DRO now forces the peer portal option fd_management_type (context) to '`select`' regardless of the user's configuration settings.
8873 | When a DRO peer link closes the connection, the other peer issues the following log message: `Gwd-6033-618: peer portal [GW_0_to_GW_2] inbound connection destroyed due to socket failure` As a solution the other peer now issues the following correct log message: `Gwd-6033-618: peer portal [name] inbound connection destroyed due to disconnect`
8979 | Incorrect DRO endpoint Domain IDs propagate continuously, without a mechanism for resetting other than restarting all contexts in the TRD.

# Special Upgrade Instructions for 6.7.1 <-

There are no upgrade instructions specific to 6.7.1. However, if you are upgrading from a version prior to 6.17, then you must examine the Special Upgrade Instructions for 6.7.

Also see Deprecations.