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.


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 Limitations for 6.7.1  <-


Streaming Fixed 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 UM router, 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 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 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 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, UM Router 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 UM Router now forces the peer portal option fd_management_type (context) to 'select' regardless of the user's configuration settings.

8873

When a UM Router 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 UM Router endpoint Domain IDs propagate continuously, without a mechanism for resetting other than restarting all contexts in the TRD.