46. Release LBM 3.5 / UME 2.2 - July 2009

46.1. LBM 3.5

See also Release LBM 3.5.ea3 / UME 2.2ea1 - May 2009 and Release LBM 3.5.ea2 - April 2009.

46.1.1. Bug Fixes

  • Corrected a problem with Java and .NET lbmmon example applications that resulted in the incorrect display of the source application's process and object IDs.

  • Corrected a problem with Java and .NET lbmmsrc example applications that caused the following exception when printing IPC statistics: Unhandled Exception: com.latencybusters.lbm.LBMEInvalException: value at num must be large enough to handle all transport sessions. This exception was caused by an incorrect calculation of the number of transport sessions.

  • LBM now ignores any spaces at the end of numeric attributes in LBM configuration files.

  • Fixed an issue with the wire format for LBM messages where the explicit batching flags were not being correctly converted to network byte order. This resulted in the LBM_MSG_FLAG_START_BATCH and LBM_MSG_FLAG_END_BATCH flags not being set correctly if sending from a big-endian machine to a little-endian machine, or vice versa. LBM now correctly formats the field in question.

    Due to the change in the wire format, mixing LBM 3.5 with earlier versions results in incorrectly set batching flags in most cases. This does not impact the behavior of explicit batching on the source side, only the message flags on the receiver side. These flags provide information to the receiving application, and are not used in message delivery, so applications that do not currently use them can mix LBM versions without impact.

  • Changed the way multiple LBT-IPC processes verify availability of the LBT-IPC transport during Topic Resolution. If two processes check the transport at nearly the same time, the second process will experience a 1 second delay. Multiple processes now verify serially.

  • Fixed a problem with calling lbm_src_flush() from multiple threads or using lbm_src_send() in combination with lbm_src_flush() from multiple threads. This problem produced the following assertion. WARNING: failed assertion [num>0] at line 1382 in ../../../../src/lib/lbm/lbmsock.c. With this correction, using lbm_src_send() in combination with lbm_src_flush() from multiple threads does not cause a problem.

  • Corrected a problem with setting *_interface options from within the LBM Configuration File specified by the environment variable LBM_DEFAULT_CONFIG_FILE. Setting *_interface options in this manner no longer results in an error.

46.1.2. 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.

46.2. UME 2.2

46.2.1. Bug Fixes

  • Java UME receiver applications must now call LBMMessage.dispose() when the application is completely finished with the message. Previously, UME sent implicit ACKs immediately on return from the user's callback. If a Java UME receiver application uses implicit ACKs (the default), UME will not send any implicit ACKs unless the application calls LBMMessage.dispose().

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