38. Release LBM 3.6.2 / UME 3.0 - February 2010

38.1. LBM 3.6.2

38.1.1. Bug Fixes

  • Fixed a problem in Java and .NET that produced an exception when uninitialized fields in an lbm_msg_t caused a bad pointer to be passed to your application code. The fields in question were only uninitialized in messages of unrecoverable loss that were delivered from hot failover receivers or immediate messages larger than the transport_datagram_max_size setting. This issue was introduced in LBM 3.6.

38.2. UME 3.0

See also LBM 3.6.1.

38.2.1. New Features

  • Added the Proxy Source feature that allows you to configure stores to automatically assume sending activity for a source or sources that cease operation. After the source returns, the store automatically stops acting as a proxy source. The main benefit of a Proxy Source is the continuation of source's topic advertisements which contain store information used by new receivers. Without the store Reg ID, address and TCP port contained in the source's Topic Information Records (TIR), new receivers cannot register with the store or request retransmissions. Proxy Source requires a Quorum/Consensus store configuration. See Proxy Sources for more information.

  • Added large file support to the UME store on 32-bit and 64-bit Windows, and 64-bit Linux and Solaris platforms. The maximum size of individual disk cache files (controlled by the "repository-disk-file-size-limit" store configuration option) can now exceed 4GB.

  • To reduce disk fragmentation, the UME store can now optionally pre-allocate disk cache files at source registration time. To enable disk file pre-allocation, set the new repository-disk-file-preallocate store configuration option. See Configuration Reference for Umestored for more information.

  • Added the ability to batch stability acknowledgments sent to sources from the UME store. In some cases -- especially with a memory store -- this feature can increase overall throughput, at the cost of a small delay between the time a message is actually stable at the store and the time the source is informed of message stability. Stability ACK batching behavior can be controlled via two new UME store topic configuration options, stability-ack-minimum-number and stability-ack-interval. Please see Configuration Reference for Umestored for a description of the new options.

38.2.2. Bug Fixes

  • Improved the ability of a Store in a Quorum/Consensus group to handle large amounts of loss. Previously, if a Store suspended operation and a source continued sending while the Store was down, the Store would perpetually handle loss after resuming operation with a high CPU consumption. The Store now processes loss messages more efficiently.

  • Fixed a bug that could cause a UME store to consume a lot of CPU at startup during a period of initially heavy loss.

  • Fixed a bug that could cause a UME store to crash at startup if using a configuration file containing unknown options.

  • Fixed handling of "connection timedout" socket errors for Linux to Microsoft® Windows® TCP connections. These errors occurred on a Linux umestored process after a Microsoft Windows UME source or receiver was terminated.

38.2.3. Known Issues

  • Receivers using event queues and Spectrum with UME can experience a SIGSEGV while shutting down if events still exist on the event queue when it is deleted. As a workaround, use LBM_EVQ_BLOCK when dispatching event queues. During application shutdown, call lbm_evq_unblock() after deleting receivers associated with the event queue, but before deleting any context objects. Once the dispatch thread exits, it is safe to proceed with context deletion. 29West is working on a solution to this problem.

Copyright (c) 2004 - 2014 Informatica Corporation. All rights reserved.