Release Notes

UM Version 6.16

The most significant updates to UM version 6.16 are UDP-based DRO peer links and general bug fixes.

Also see Deprecations.

Attention
  There are some special upgrade instructions for UM versions 6.16 and beyond that will affect some users upgrading from pre-6.16 versions of UM. See Special Upgrade Instructions for 6.16. For general upgrade instructions, see Upgrade Procedure.

# Enhancements for 6.16 <-

## Streaming Enhancements for 6.16 <-

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

- UDP DRO Peer Links. Prior to UM version 6.16, DRO peer links could only be configured for the TCP protocol. This can introduce high latency spikes and low throughput, especially for long-distance WAN links. UM version 6.16 introduces UDP-based peer links to provide more consistent latency and throughput. See UDP Peer Link.

- Updated Windows Toolchain. The UM Windows LBM DLL is now built with Visual Studio 2022.

- UM .NET API Targets .NET Standard. Both the Unix and Windows .NET libraries are now built as .NET Standard. This reduces the dependencies of the UM .NET libraries. However, it should not affect their usability by existing UM .NET applications. For example, a windows-based .NET Framework application should built and run OK with the .NET Standard UM library. See .NET Standard.

- TCP Keepalives for UIM. TCP Transports have supported SO_KEEPALIVE since UM version 3.3.8. Starting with UM version 6.16 this functionality is added to UIM TCP connections. See TCP Disconnections for more information.

- Onload Enhancements. Starting with UM version 6.16, UM sockets can be assigned to Onload stacks on a context basis. Also, UM is changed to not load the Onload dynamic library unless UM is configured to use Onload features. See Solarflare Onload.

- Option to Disable NAKs for LBT-RU Receiver. See transport_lbtru_send_naks (receiver).

## Persistence Enhancements for 6.16 <-

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

- None.

## Queuing Enhancements for 6.16 <-

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

- None.

# Fixed Problems and Limitations for 6.16 <-

## Streaming Fixed Problems and Limitations for 6.16 <-

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

Change Request | Description
--- | ---
11356 | FIXED: The TCP and IPC transports can log a failed warning assertion, "[tsni_max_len>=LBM_SRC_TSNI_LENGTH]", if the transport datagram maximum size is set to 500 (the documented minimum).
11343 | FIXED: The Linux UM library "liblbm.so" had an unnecessary dependency on libnsl.so. This causes a problem for recent Linux distributions that no longer contain that library.
11333 | FIXED: The DRO can abort with a fatal assert, "[buff->len<=LBMUIM_APDU]" if a UIM of exactly 65265 bytes is sent.
11327 | FIXED: There is a very low probability event that can happen when creating a UM receiver that joins an IPC transport that causes the IPC thread to exit immediately. The symptom is that the program will be deaf to IPC sources. This has only ever been seen on Windows in the Informatica lab; it has never been reported by a user.
11325 | FIXED: If an application using Smart Sources attempts to send a message that is larger than the source's configured ume_flight_size_bytes (source), it returns -1 with an lbm_errnum() of 2 (LBM_EWOULDBLOCK) with the lbm_errmsg() of "CoreApi-10055-3012: send would block because of flight size". This is incorrect. The source should return lbm_errnum() of 1 (LBM_EINVAL) with the lbm_errmsg() "CoreApi-6020-9: Payload exceeds flight size bytes maximum, unable to send."
11290 | FIXED: If an application is run with Onload configured to active spinning (e.g. setting EF_POLL_USEC=-1), and that application uses TCP-based topic resolution (SRS-based), the context's background thread which communications with the SRS will needlessly consume 100% CPU. This was fixed by setting the socket associated with the SRS connection to ONLOAD_DONT_ACCELERATE.
11143 | FIXED: .NET does not support High-resolution Timestamps.

## Persistence Fixed Problems and Limitations for 6.16 <-

The following bug fixes apply to UMP and UMQ products.

11311 | FIXED: If a non-persistent (streaming) source is created with the UMP or UMQ product, UM will incorrectly allocate memory for that source's flight size buffer, leading to an unnecessarily large memory footprint.

## Queuing Fixed Problems and Limitations for 6.16 <-

The following bug fixes apply to the UMQ product.

- None.

# Special Upgrade Instructions for 6.16 <-

## Eliminate 32-bit <-

Starting with UM version 6.16, all support for 32-bit builds is dropped. This includes Daemons and applications.

However, note that earlier versions of UM still support 32-bit. I.e. if you have 32-bit applications built with, say, UM 6.14, Informatica will continue to support those applications. Also, note that those older 32-bit components can transparently interoperate with newer 64-bit components.

The limitation here is that any new functionality introduced in UM version 6.16 and beyond will not be available to your 32-bit applications. I.e. they will be "stuck" at UM version 6.15.

## Previous Special Instructions <-

If you are upgrading from a UM version prior to 6.15, you must also examine the Special Upgrade Instructions for 6.15.

Also see Deprecations.