UMDS Release Notes
|
UMDS (Version 6.14)
This document describes the important changes made to the UMDS product. This document is cumulative from UMDS version 6.0 till now.
For policies and procedures related to Ultra Messaging Technical Support, see UM Support.
(C) Copyright 2004,2024 Informatica Inc. All Rights Reserved.
This software and documentation are provided only under a separate license agreement containing restrictions on use and disclosure. No part of this document may be reproduced or transmitted in any form, by any means (electronic, photocopying, recording or otherwise) without prior consent of Informatica LLC.
A current list of Informatica trademarks is available on the web at https://www.informatica.com/trademarks.html.
Portions of this software and/or documentation are subject to copyright held by third parties. Required third party notices are included with the product.
This software is protected by patents as detailed at https://www.informatica.com/legal/patents.html.
The information in this documentation is subject to change without notice. If you find any problems in this documentation, please report them to us in writing at Informatica LLC 2100 Seaport Blvd. Redwood City, CA 94063.
Informatica products are warranted according to the terms and conditions of the agreements under which they are provided.
INFORMATICA LLC PROVIDES THE INFORMATION IN THIS DOCUMENT "AS IS" WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING WITHOUT ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ANY WARRANTY OR CONDITION OF NON-INFRINGEMENT.
The most-significant update to UMDS version 6.14 is the introduction of compression for the client/server connection.
UMDS version 6.14 should be run on UM version 6.14 or beyond.
The following new features and enhancements apply to the UMDS product.
Compression. The TCP connection between the UMDS server and client can now be compressed to reduce the bandwidth requirement. See Client Compression.
Log file rolling. The UMDS server now supports the automatic splitting of its log file into separate files based on time and/or file size ("rolling"). See Log Handling.
Total Queue Size Limit. In earlier versions, users wanting to use Per-Topic Message Queues with large numbers of topics risked very large memory consumption by the UMDS Server. Starting with UMDS version 6.14, a total queue size limit can be configured. See the UMDS Element "<server>" attribute "total-q-size-limit"
.
The following bug fixes apply to the UMDS product.
Change Request | Description |
---|---|
11414 | FIXED: Illegal memory access by UMDS Server with Late Join enabled. |
11406 | FIXED: UMDS Server crash with segmentation fault when monitoring is enabled and large numbers of topics are subscribed and published. |
11401 | FIXED: UMDS Server can experience unbound memory growth in Per-Topic Message Queues if the incoming message rate consistently exceeds the client's ability to keep up. |
11265, 11363 | FIXED: The UMDS .NET client library can take multiple seconds to connect to a server due to a DNS timeout even though the servers is specified with numeric IP addresses. |
11361 | FIXED: The Windows installer for UMDS adds an empty directory to the PATH variable. |
11355, 10886 | FIXED: When the UMDS server is restarted, it deletes the contents of the previous log file. This risks losing valuable diagnostic information. "Append" is preferred. Starting with UMDS version 6.14, the server will open its log file with "append" behavior after a restart. See Unbounded Log File Growth and Log Handling. |
11324, 10003 | FIXED: Certain coding errors in client applications can cause the UMDS server to crash with a segmentation fault. While the root cause is user error, we made the UMDS Server more robust in the face of client coding errors. |
11054 | FIXED: If Using UMDS Client Encryption is being used and a large message is sent, the server can log "lbm_openssl_socket_write: sock fd 41 SSL_write failed" and disconnect the client. |
When a pre-6.14 version of the UMDS server restarts, it clears an existing log file and starts it from zero.
Due to fixing bug 10886 in UMDS version 6.14, restarting the server will re-open an existing log file in "append" mode and write new logs to the end of the file. Thus, over time, the log file grows without bound.
Users wishing to retain the older "start from zero" behavior will need to rename or delete the log file themselves immediately before starting the server.
Alternatively, UMDS 6.14 now supports automatic log file rolling based on time and/or file size.
See Log Handling.
The UMDS server's XML configuration file version has increased to version 1.1.
It is not required that existing version 1.0 configuration files be modified. Only if you desire the new functionality available in UMDS version 6.14 do you need to increase the version number to 1.1.
For example:
<?xml version="1.0" encoding="UTF-8"?> <umds-daemon version="1.1"> ...
Note that it is not the XML version that changed, it is the umds-daemon version.
The most-significant updates to UMDS version 6.13.1 is the introduction of persistence and client/server encryption (TLS).
The following new features and enhancements apply to the UMDS product.
Persistence. UMDS now supports receiving Ultra Messaging persisted messages. See Using UMDS Persistence
The following bug fixes apply to the UMDS product.
Change Request | Description |
---|---|
11040 | FIXED: The Daemon Statistics feature has a slow memory leak. |
The most-significant update to UMDS version 6.12 is the introduction of Daemon Statistics to the UMDS server.
The following new features and enhancements apply to the UMDS product.
The following bug fixes apply to the UMDS product.
Change Request | Description |
---|---|
10382 | FIXED: Running the UMDS server with a UM version of 6.11 or later generates the following benign warning message: Core-5688-28: WARNING: receiver config variable use_transport_thread is deprecated. Has no effect. The warning was caused because the UMDS server is incompatible with Transport Threads (MTT), and actively disables it during initialization. This generates the warning message in UM 6.11 and beyond. The UMDS server now detects the version of the underlying UM and only disables MTT for versions that support it. |
10002 | FIXED: Server can fail with a fatal assert: failed assertion "worker_conn==umdsd_src->worker_conn" |
9935 | FIXED: Server can fail with a segmentation fault in umdsd_stats_queue_process_cmds . |
UMDS version 6.0 includes all functionality and fixed limitations of version 6.0.200. Version 6.0 should be considered the next version after 6.0.200. Think of the ".200" version number as being like a negative number; 6.0.200 is less than 6.0.
The most-significant update to UMDS version 6.0 is the availability of Late Join for UMDS receive and sending client applications.
The following new features and enhancements apply to the UMDS product.
UMDS_6.0_client-install.exe
, for either 32-bit or 64-bit Windows.
The following bug fixes apply to the UMDS product.
Change Request | Description |
---|---|
7499 | FIXED: A UMDS Client cannot close a source or receiver while being disconnected from the server. As a solution, sources and receivers can now call |
8168 | FIXED: The server might crash after taking too long to service requests to refresh a Web Monitor display, or to create or delete a client connection. |
8218 | FIXED: Authentication by application name fails. |
8418 | FIXED: You cannot specify the size of a request independently of the message size in the |
8482 | FIXED: The UMDS Server log inserts an empty line after each log message. |
8500 | FIXED: When a UMDS send fails and does not return an EWOULDBLOCK, the UMDS Server does not log an error message. |
8524 | FIXED: Wildcard Receiver throughput performance degrades with high numbers of topic matches. |
8530 | FIXED: The UMDS Server does not set the retransmission flag for OTR recovered messages before forwarding those messages to a UMDS Client. |
8542, 8547 | FIXED: With transport LBT-SMX you cannot receive messages or send requests. As a solution, you now cannot configure transport LBT-SMX with UMDS. |
8545 | FIXED: If you enable multithreaded transports, the UMDS Server encounters multiple error conditions. As a solution, you can no longer enable multithreaded transports within the UMDS Server. |
8561, 8822 | FIXED: UMDS Client applications might crash due to a situation where the application cannot create a debug log file, but then tries to write log entries to the nonexistent debug log file. |
8619 | FIXED: The UMDS Server cannot send error messages reported by a UMDS client before that UMDS Client starts to send. As a solution, the following new states track which commands the UMDS Client has sent to the UMDS Server and which commands the UMDS Server has responded to.
|
8656 | FIXED: The UMDS Web Monitor truncates longer topic names. |
8697 | FIXED: If you configure more workers than the host machine can support, the UMDS Server crashes with the following message: [emergency] FATAL: failed assertion [err==0] at line 1645 in ../../../../../src/umds/umdsd/umdsd_worker.c As a solution, if you configure too many workers, you see a warning message. |
8700 | FIXED: The UMDS Server needlessly issues the following warning: Core-5688-1793: WARNING: Requested receiver attributes will be ignored, previous receiver for topic [s] has already defined the attributes. |
8753, 8754 | FIXED: The UMDS Server might crash when receiving malformed packets. |
8777 | FIXED: The UMDS Server might crash when UMDS Client applications send at a high rate. |
8786 | FIXED: UMDS Clients might unexpectedly disconnect and reconnect due to a race condition. |
8912 | FIXED: The UMDS Server might crash when an enabled Web Monitor receives requests for details about an invalid connection. |
8930 | FIXED: The Java UMDS Client closes |
8951 | FIXED: If a message queue size limit is set to 0, the UMDS Server fails to discard messages older than the configured message age limit. |
8985 | FIXED: Example application server authentication fails if you connect and supply a username and password without an application name. As a solution, you can now use command line option |
8986 | FIXED: The UMDS Client .NET example |
9006 | FIXED: The UMDS Server might crash under conditions of heavy loss when a receiver client disconnects. |
9057 | FIXED: When a UMDS Server disconnects from a Java or .NET UMDS Client, the client issues a NULL pointer exception. |
9058 | FIXED: While a UMDS Client connection is closing, you might see the following warning message: WARNING :Invalid state CLOSING for message 71 |
UMDS 6.0.200 is a "Limited Availability" (LA) release which was made prior to version 6.0 "General Availability" (GA), and does not include the enhancements and fixed limitations of 6.0. Think of the ".200" version number as being like a negative number; 6.0.200 is less than 6.0.
The most-significant update for UMDS version 6.0.200 is the introduction of Request/Response capability.
The following new features and enhancements apply to the UMDS product.
Clients now have Request/Response capability.
The UMDS Web Monitor has a Quit Server
button and a Disconnect this Client
button. These buttons are disabled by default. You can enable or disable these buttons with the <server allow-shutdown-via-webmon=[0|1]>
option. This option applies to both types of button.
The UMDS sample applications, libraries, and server report versions to the debug log. The sample applications also report the version in the -h
help text and the server reports its version in the console output after startup.
UMDS provides a single anycpu
DLL for the .NET client library for use with both 32-bit and 64-bit applications.
The UMDS Web Monitor displays version numbers for both the UMDS server and the installed Ultra Messaging version that the server has dynamically loaded.
You can trigger a clean UMDS server shutdown with the UNIX signal SIGTERM or SIGINT.
The UMDS 6.0.200 server is backward compatible with UMDS 1.1.1 clients.
This release includes only .NET and Java APIs for UMDS clients. The C client API and C++ wrapper are no longer available.
The following bug fixes apply to the UMDS product.
Change Request | Description |
---|---|
8233 | FIXED: The UMDS Server exits when connection to a UMDS Client takes more than 120 seconds to complete. |
8497 | FIXED: For UMDS clients configured for arrival order delivery, received messages do not verify correctly. With this fix, you can NO LONGER configure a UMDS client for arrival order delivery. If you attempt to configure arrival order delivery, the UMDS server resets to ordered delivery. |
8522 | FIXED: The defaults values for server and client keepalive options are incorrect. They now have the following values: server-ka-interval 2,000 client-ka-threshold 10,000 client-ka-interval 3,000 server-ka-threshold 11,000 |
8664 | FIXED: A UMDS server configured to use Ultra Messaging configuration option [emergency] FATAL: failed assertion [src->res_ucast_daemons!=NULL] at line 2386 in ../../../../src/lib/lbm/lbmctx.c |
8683 | FIXED: A client might experience an exception with the following message: System.NullReferenceException: Object reference not set to an instance of an object... |
The following open limitations applies to the UMDS product.
You should also review the known limitations for your underlying Ultra Messaging version. See the "Known Problems and Limitations" section in the UM Release Notes documentation for your UM version's, available at Informatica Ultra Messaging Documentation Sets.
Change Request | Description |
---|---|
11400 | UMDS server Daemon Statistics do not work unless the UMDS Web Monitor is also enabled. WORKAROUND: To use UMDS daemon stats, also enable the web monitor. |
8411 | License keys including the UMSM product option are not recognized as valid when running a version of Ultra Messaging earlier than 6.5. The UMSM license is only required to run the System Monitoring components. Enabling monitoring of applications and other products does not require a license containing UMSM. |
8579 | The |
8581 | Sending request messages on a topic subscribed by a pre-6.0 UMDS client causes the client to disconnect from the UMDS server with the following log message: WARNING :Error reading parameter 49:com.latencybusters.umds.UMDS+UMDSException: Bad data hdrid in UMDSMessageFormatter.parse() |
8582 | The UMDS web monitor incorrectly displays |
8586 | If UM automatic monitoring is enabled on the server with an invalid monitoring configuration, the server does not properly report the configuration error, but instead issues log messages such as the following example: Warning: Attempt to send data to tidx 0 when source not initialized |
8587 | For a source that matches a wildcard receiver pattern, creates a per-topic queue, then ends, the per-topic queue is not deleted until the wildcard receiver gets deleted. |
8695 | If the UMDS Server is running with Ultra Messaging 6.7 or earlier, UMDS Client receivers do not correctly format responses to request messages that have traversed a UM Router from sources in a different Topic Resolution Domain. Instead of delivering such response messages, the originating requester logs the following warning message: Core-6259-25: Deserialize Response: Context in domain 1 received response with no domain:... |
9078 | The UMDS Server might crash under the following conditions:
To avoid this problem, do one of the following:
|
9118 | The |
9129 | You cannot set option [warning] Umds-8499-2: LBM error while sending message: CoreApi-5688-707: Not currently registered with enough UMQ queue instances |
9130 | You cannot use Request-Response with MIM. |
9131 | If you send a Request on a topic where no topic queue is configured, Ultra Messaging creates a per-topic queue anyway. This queue is unbound in size, although Requests do time out. For full control, configure a topic queue with size limit on these topics. |
9132 | If a wildcard receiver matches a topic for which no per-topic queue is configured, Ultra Messaging creates a per-topic queue anyway, but then still uses the default queue to deliver that topic's messages, and not the per-topic queue. |
9133 | If option |
9134 | Server reports the client authentication indicated by the client not the authentication method used by the server. When the server is configured for authentication none, and the client supplies an application name and / or a user name and password, the server will report that authentication type basic was used, when it was not. |