48. Release LBM 3.5.ea3 / UME 2.2ea1 - May 2009

48.1. LBM 3.5ea3

48.1.1. New Features

  • New Monitoring Statistics: Added monitoring statistics for the LBT-IPC transport. These statistics are available to the C API, the Java API and the .NET API. The new statistics have also been added to the Ultra Messaging® MIB and the InterMapper probe files. In addition, all example applications support LBT-IPC transport statistics.

48.1.2. Updated Features

  • Changed the internal management of LBT-IPC shared resources. LBM can now support thousands of LBT-IPC transport sessions and hundreds of receiving contexts.

    As a result, LBM 3.5ea2 users must clean up old IPC resources before installing LBM 3.5ea3. Perform the following actions to properly update to LBM 3.5ea3.

    1. Use the lbtipc_resource_manager -reclaim option to reclaim any orphaned IPC resources.

    2. Use the lbtipc_resource_manager -delete option to delete the IPC resources database.

    3. Install LBM 3.5ea3.

48.1.3. Bug Fixes

  • Corrected LBM socket resource leakage resulting when a socket did not connect to the sender. The socket delete was not completing.

  • Modified lbmmrcv.cs to only register one immediate callback. The previous implementation registered one callback for each receiver, which caused a single immediate message to be callbacked as many times as there were receivers. Since the callback executes a dispose() on the message, it caused a core dump after the first callback was made.

  • Corrected a problem with LBT-IPC that caused an infinite loop when subsequent receivers joined an LBT-IPC transport session after the first receiver joined. The problem could happen if the subsequent receivers joined the transport as much as 17 minutes later than the first.

  • Corrected a seg fault that occurred when the maximum number of LBT-IPC transport sessions was exceeded.

  • Corrected a problem with the way an LBT-IPC receiver handles keepalive messages from an IPC source. This problem caused the following assertion, "WARNING: failed assertion [(MUL_SQN_GT(sqn, ctlr->stream_high_sqn))] at line 626 in ../../../../src/lib/lbm/lbmrcvdc.c".

48.1.4. Known Issues

  • When using Event Queues with the Java API on Mac OS X kernel 9.4, core dumps have occurred. Mac OS X kernel versions prior to 9.4 have not produced this behavior. 29West is investigating this issue.

48.2. UME 2.2ea1

48.2.1. Bug Fixes

  • Fixed a problem with the Java and .NET versions of umesrc that resulted in the STORE flag being issued instead of the STABLE flag when a quorum of stores is achieved. This problem only occurred when using a Quorum/Consensus UME store configuration.

  • In the Java API, changed UME confirmed delivery behavior for receivers to be more in line with C and .NET APIs. The Java API now requires an application to call LBMMessage.dispose() when it has finished with an LBMMessage object. Previously this had not been required.

  • In the Java API, fixed a bug which caused LBMMessage.isFragment() to always return false.

  • In the Java API, fixed several small UME source-side memory leaks that occurred when using the newly-supported Embedded Mode without an Event Queue. These problems did not affect Sequential Mode with or without an Event Queue nor Embedded Mode with an Event Queue.

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