Progress SonicMQ 8.5.1 Release Notes This document lists known issues and resolved issues specific to the current release of Progress SonicMQ, 8.5.1, (referred to in these notes as "this release"). Each issue is preceded by its Progress Sonic 'SNC' identifier, and (when relevant) its 'Sonic' identity in legacy tracking systems. For some product packages, the issues are grouped by component product, and then categorized within the product. KNOWN ISSUES The known issues in this release and applicable workarounds are the following: 1. SonicMQ C/C++/COM Clients 2. SonicMQ .NET Client 3. SonicMQ Resource Adapter for JCA 4. Launcher Install 5. SDM Editors and Tools 6. Sonic Deployment Manager 7. SonicMQ Administration 8. SonicMQ Containers 9. SonicMQ Fault Tolerance 10. SonicMQ HTTP 11. SonicMQ Install, Upgrade, Update, and Uninstall 12. SonicMQ Management Framework 13. SonicMQ Management Tools 14. SonicMQ Messaging Broker 15. SonicMQ Messaging Client 16. SonicMQ Multibroker 17. SonicMQ Security 18. SonicMQ Third Party 19. General Install, Upgrade, Update, and Uninstall ================================================================================ SonicMQ - C Client SonicMQ C/C++./COM Clients _______________________________ SNC00015395 Sonic00008203 TMJOIN is not supported in this release --- In XA, TMJOIN is not supported. _______________________________ SNC00013125 Sonic00006722 Samples will not work with character input in excess of 118 characters: --- The sample applications have input buffers hardcoded at 120 bytes. Entering more than 118 characters at the user prompt will cause runtime errors, possibly program termination. _______________________________ SNC00007797 Sonic00003816 Compiler warnings are generated during link phase --- The Solaris and Windows link phase are generating benign warning messages. Please ignore them. ================================================================================ SonicMQ - CSharp Client SonicMQ .NET Clients _______________________________ SNC00042546 Sonic00026669 Availability of gacutil --- The register.bat and unregister.bat convenience scripts assume the presence of the gacutil.exe utility on the deployed system. However, this may not always be available depending on the software installed. In case gacutil is not available, the user can use .NET 1.1 Configuration tool available via the Windows Control Panel to add and remove the assemblies from the Global Assembly Cache (GAC). _______________________________ SNC00042066 Sonic00026404 Thread interrupts not supported --- The SonicMQ .NET client does not support the use of interrupt() on any thread operating within its context. This implies that a user is responsible for ensuring that the interrupted state of any thread that is used to invoke the SonicMQ .NET Client API method be cleared prior to entry into the API method. Furthermore, it is illegal to interrupt a message listener thread while it is operating in user code. Failure to do so will result in unpredictable behavior. _______________________________ SNC00042064 Sonic00026403 Publish might return write failure during fault-tolerant reconnect --- A publish or send operation concurrently initiated with a fault-tolerant reconnect can sometimes return with an exception containing a 'write - connection is closed' message. This message does not indicate a fault-tolerant reconnect error and the system has not recorded any context associated with the call that failed. The user can safely retry the call immediately . The call will go through in case the fault-tolerant reconnect is successful and will return with an exception in case it did not (this time being accompanied by the invocation of the exception listener) _______________________________ SNC00041801 Sonic00026217 Memory leak when using synchronous transacted receivers --- A steady memory growth is observed when using synchronous transacted receivers with a reasonably high message rate. This seems to be a problem with the CLR garbage collector. In order to avoid this problem, the user should explicitly invoked GC.Collect() to cause garbage collection runs to be performed more frequently. ================================================================================ SonicMQ - JCA Resource Adapter SonicMQ Resource Adapter for JCA _______________________________ SNC00043093 Sonic00027005 Setting the maxSessions activation configuration property --- In a message driven bean, setting the maxSessions activation configuration property too high can cause SonicMQ to drop connections and refuse to reconnect for the bean instance. If this situation occurs try reducing the maxSessions value or reverting to the default value. ================================================================================ SonicMQ - Launcher Install General _______________________________ SNC00075622 Blank Screen coming up for AIX and HP-UX on some install panels --- This is a known issue with InstallAnywhere InstallAnywhere 2009 Service Pack 1 Release Notes -- 10 http://kb.flexerasoftware.com/selfservice/microsites/search.do?cmd=displayKC&do cType=kc&externalId=Installation-InstallAnywhere-InstallAnywhere2009-01Public-P roductInfo-rnia2009sp1pdf&sliceId=pdfPage_10&docTypeID=DT_PRODUCTINFO_1_1&dialo gID=80327867&stateId=0%200%2080329468 Installation panels is the same as the background color, making the text invisible. IOC-000079974 When running an InstallAnywhere installation with a 64 bit JVM on HP-UX ================================================================================ SonicMQ - SDM Editors and Tools _______________________________ SNC00083728 migrateModel will fail if ReadExclusive=true was used for a clustered queue --- ReadExclusive=true is no longer allowed in SDM for clustered queues. Previous models could have contained the element <ReadExclusive>true</ReadExclusive> in the parameter set of a clustered queue. When such a model is migrated to 8.5.1, the ReadExclusive setting is not removed. The verification of the migrated model will fail. The workaround is to remove <ReadExclusive>true</ReadExclusive> from the tuning parameters of a clustered queue before running migrateModel. ================================================================================ SonicMQ - SDM Sonic Deployment Manager _______________________________ SNC00083307 cleanDomain will wait for remote host managers to come online --- The cleanDomain command now allows extra time (default 30 seconds) after the DM comes online to allow remote containers with host managers that are being configured in the new DS to become fully functional. The total time delay for all host managers to complete configuration and startup defaults to 30 seconds, and is configurable by the user through the command line property hm_wait_time=<number of seconds>. _______________________________ SNC00083268 SDM FaultTolerance attributes cannot be set on a non Primary container --- SDM will print an error message and fail the build if the user attempts to use any of the attributes of the FaultTolerance element in the tuning file for a container that is not fault tolerant. SDM will print an error message and fail the build if any attribute other than "StartActive" is used in the tuning file for a backup container. _______________________________ SNC00068402 LocalManagementBroker can now be in a parent Segment of the referenced Broker --- In pre-8.0 releases, the LocalManagementBroker and the associated Broker tag were required to be at the same Segment level, and a local manegement broker was required to be in a segment and not at the top level in the model. In 8.x releases, the LocalManagementBroker and the associated Broker tag are required to be at the same or an ancestor Segment level, and a local management broker is required to be in a segment and not at top level in the model. _______________________________ SNC00061924 Sonic00038328 Benign error about tools.jar when Ant scripts run under standalone JRE --- When java_home is defined to reference a JRE that is not part of a Java SDK, running an Ant script displays that it cannot locate tools.jar. As the SDM's use of Ant does not require the JDK, the error is benign. _______________________________ SNC00061711 Sonic00038205 SDM Tuning.xsd contains several Annotation elements that are not functional --- Some tuning elements define Annotations in the Tuning.xsd schema, but the SonicMQ annotation function does not apply defined annotation text as expected. Avoid defining annotations in an SDM model for the following elements: BrokerParameters/Storage/RecoveryLog BrokerParameters/Security/Ssl BrokerParameters/Tuning/Queue BrokerParameters/Tuning/Topic BrokerParameters/Tuning/Buffer BrokerParameters/Tuning/Transactions BrokerParameters/Tuning/Connection BrokerParameters/Tuning/Metrics BrokerParameters/DuplicateDetection BrokerParameters/WebServiceSecurity QueueParameters _______________________________ SNC00061706 Sonic00038202 SDM Tuning.xsd contains several Annotation elements that are not functional --- SDM does not support Annotations for Authentication Domains and Security Policies elements. Such annotations have to be added manually to a configuration via the SMC or a Java application. _______________________________ SNC00061352 Sonic00037997 Extraction does not get all annotations --- Extraction from a domain does not extract all existing annotations from the Directory Service. _______________________________ SNC00059291 Sonic00036778 Deletes.xml file cannot specify a management container for deletion --- The SDM provides no way to specify within the Deletes.xml file that a management container should be deleted. _______________________________ SNC00058518 Sonic00036292 Models extracted from a domain include all tuning parameters --- Domain-to-Model outputs all tuning parameters, even if they are default values. Thus all properties stored in the Directory Service for a given domain configuration are written out to the model as a result of using the Domain-to-Model feature, as opposed to just those whose values differ from the default values. _______________________________ SNC00058498 Sonic00036281 SDM does not support SSL Acceptors for management connections --- SDM does not support the use of SSL Acceptors for management connections; only TCP Acceptors are supported for management connections. _______________________________ SNC00058340 Sonic00036195 No Support for protocols other than Web Service protocols for Acceptor --- Web Service protocols are supported within the Acceptor of a Broker element. For example: Test WebService Protocol ... /abc However, this support is not provided for the other types of protocols. ================================================================================ SonicMQ - SonicMQ Administration _______________________________ SNC00030925 Sonic00019185 Durable browsing should wait until broker restart has completed --- When managing Durable subscriptions, count and size information is available on a per durable subscriber basis. After a broker startup, some messages that are included in the count and size might not appear when browsing durable subscriptions. These messages will be available for browsing after the Client Reconnect Timeout time. To configure the Client Reconnect Timeout, select the Configure tab in the Sonic Management Console. Next, right-click on a broker and select Properties. The Client Reconnect Timeout is configurable via the Advanced tab. _______________________________ SNC00026565 Sonic00016520 On deletion of a durable sub, SMC does not propagate it clusterwide --- When you use the Sonic Management Console to delete a durable subscription from a broker that is part of a cluster, you must connect to the other brokers in the cluster and then delete the subscription from each of those brokers to complete the unsubscribe action. However, when done programmatically by the TopicSession.unsubscribe() method, the deletion request propagates to all brokers in the cluster. _______________________________ SNC00005206 Sonic00002409 The Broker Can Take a Long Time to Start --- After certain types of failures, it can take a very long time for a SonicMQ broker to start up. If the recovery log files are not configured large enough for a heavy work load, the SonicMQ broker might run out of space on both log files and automatically shut down. Even after re-configuring the log files, starting up the broker for the first time following such a failure can take a long time, as it has to start recovery at the last good sync point, which in this case is located at the beginning of the first file. After a successful startup, however, a sync point is written to the log file and subsequent startup times are normal. Sync points are written to the log at startup, shutdown, and when switching log files. See the information in the SonicMQ Deployment Guide about setting the LOG_NOTIFY_FACTOR parameter so you can monitor peak usage of the recovery log file to ensure that the log file does not exceed its capacity and shut down the broker. _______________________________ SNC00005131 Sonic00002371 Buffered Disk Writes Affect Server Reliability --- Do not use buffered disk writes or network drives in virtually all circumstances. Buffered disk writes (write caching) could -- under an unanticipated power outage -- corrupt data in the write cache before the data is written to disk; however, some sophisticated data storage systems (such as top-end SCSI RAID arrays) provide reliable write caching that is suitable for use with SonicMQ. ================================================================================ SonicMQ - SonicMQ Containers _______________________________ SNC00061378 Sonic00038011 Windows Services: The Local System account is used by the services --- When installing containers as windows services, they are set up to use the Local System account, and do not have access to Windows network resources, such as file shares. Be sure that all resources required to run the container (the JVM, cache directory, working directory, etc.) are located on the local machine or, alternately, modify the account that runs the service to allow access to all the required resources. ================================================================================ SonicMQ - SonicMQ Fault Tolerance _______________________________ SNC00042957 Sonic00026919 Broker failover may be delayed by long kernel retry intervals on Linux AS 3.0 --- On Linux, the kernel will often retry TCP connections for 13 minutes or longer before reporting the suspected problem to the network layer. For FT broker pairs, this will delay their ability to react to network interruptions. The TCP variables tcp_retries2, tcp_syn_retries, and others can be tuned to reduce the amount of time it takes the kernel to report a problem to the network layer. See the SonicMQ Performance Tuning Guide chapter "Optimizing Broker CAA and Cluster Failover" for more information on this topic. Alternatively such brokers can be configured with early application level connection detection. See the SonicMQ Performance Tuning Guide chapter "Tuning Brokers to Optimize CAA Failover" for more information on this topic. _______________________________ SNC00032107 Sonic00019907 connectID recommended for Fault-Tolerant connections --- A fault-tolerant durable subscriber client application that does not specify a ConnectionFactory connectID, when running and connected, can terminate abnormally. If the application is immediately run again, it encounters the following error. javax.jms.JMSException: [127] progress.message.client.EUserAlreadyConnectedPendingReconnect: .../$DURABLE$FTDurableChatter$SampleSubscription This error is a consequence of the broker enforcing a policy that prevents a durable subscriber that is in the "pending-reconnect" state from being connected to by a different client. Here, to determine client identity, connectID is used. In the situation described, when the client application initially executes and connects, connectID is unspecified. Therefore a system assigned client identifier is used. When the initial client application execution is abnormally terminated, the broker assumes that the network has temporarily failed and places the client in the "pending-reconnect" state. The broker maintains the "pending-reconnect" state for the failed client until the client recovers the connection, or connects anew with the same connectID, or the reconnect timeout expires. When the client application executes for the second time and before expiration of the first failed connection's reconnect timeout expiration, a new system assigned connectID is used and presented by the client but rejected by the broker because of the above pre-emption policy. To avoid this behavior, assign a connectID in the ConnectionFactory. For more information, see the "Reconnect Conflict " and "Durable Subscriber Reconnect Conflict " sections in Chapter 4 of the Application Programming Guide. ================================================================================ SonicMQ - SonicMQ HTTP _______________________________ SNC00055744 Sonic00034626 HTTP Tunneling and NTLM Authentication --- Connecting to the broker using http through a proxy that enforces NTLM authentication from a Windows machine now requires that NTLM credentials be specified explicitly. A new http client has now been introduced that no longer uses the JDK's HttpUrlConnection which had accessed the local user's Windows credentials through native code. See chapter 4 of the SonicMQ Application Programming Guide for more information. _______________________________ SNC00028299 Sonic00017603 Use of http.maxConnections with HTTP(S) Tunneling --- The SonicMQ HTTP/S tunneling implementation utilizes the JVM's HTTPUrlConnection class. The JVM's implementation of this class uses a pool of connections to the server for persistent (HTTP/1.1 or HTTP/1.0 Keep-alive) connections. This pool is limited by the JVM. When the pool limit is exceeded, the JVM determines on its own whether or not to close any of the connections. This JVM behavior can cause problems for SonicMQ HTTP/S tunneling when more persistent connections are required than the pool is configured for. Setting the JVM's http.maxConnections property on the client-side to be at least three times the number of JMS Connections alleviates the problem. _______________________________ SNC00012023 Sonic00006048 HTTP/HTTPS URLs for Client Persistence connections must specify a Port number --- ConnectionFactory objects that configure client persistence, such as setEnableLocalStore(true) AND use HTTP/HTTPS for broker connections MUST specify a port number in the broker URL. This also applies to administered objects that persist ConnectionFactories in LDAP or on disk. ================================================================================ SonicMQ - SonicMQ Install, Upgrade, Update, and Uninstall _______________________________ SNC00076872 Project explorer view is not shown by default after Workbench upgrade --- The default view in the Sonic Workbench is the Project Explorer View. The Project Explorer View shows additional details like Sonic Connect Services and Operations which are not shown in other views. However, when you upgrade the Sonic Workbench from a previous release, and then open a migrated workspace, Eclipse opens using the previously used view. To get the Project Explorer View, select Window -> Reset Perspective when you are already in Sonic Design perspective. _______________________________ SNC00075630 Workbench Containers view does not expand when running XMLService instances --- XMLService instances and their containers are not upgraded with a Workbench upgrade to 8.x. If these containers are started, the Containers view of the 8.x Workbench does not display any containers. _______________________________ SNC00052080 Sonic00032384 Period in container name during installation causes problems --- Do not use a "period" character in container names. The container will not be able to be started or stopped. _______________________________ SNC00032364 Sonic00020071 Sample scripts might need executable permission set on AIX --- Some of the sample shell scripts are delivered with the executable bit off. To fix this problem use the UNIX command "chmod" to set the executable bit. For example: chmod +x RunHttpsClient.sh _______________________________ SNC00029486 Sonic00018326 JITC_COMPILEOPT for AIX --- On AIX you will see messages similar to the following in your broker/container log. These messages are expected: "Skipped Compiling {progress/message/broker/LogBlockBuffer}{setBlockPos}" _______________________________ SNC00007243 Sonic00003478 Default Installation Directory on UNIX --- On most UNIX platforms, the default installation directory is /opt/Sonic. If you do not have a disk mounted as /opt, select an alternate location, otherwise /opt will be created as a subdirectory of / (if you have permissions) and SonicMQ will be installed there. It is generally not advisable to install software in /. _______________________________ SNC00002066 Sonic00000961 Uninstalling does not remove all files and directories --- At the conclusion of the uninstallation, not all files are removed from the installation directory in case you need to keep any data or log files. You must delete these files and directories manually after running Uninstall. _______________________________ SNC00002060 Sonic00000959 Installation over network --- If you intend to install SonicMQ on Windows systems over the network, set up a network drive path to the remote system's CD drive (or CD image on disk). Since Windows does not support running batch files using the Universal Naming Convention (UNC) path, the install process will not work if you attempt to run it using the UNC path to the CD, for example, \\sys1\cdrom\setup.bat. Additionally, if you enter in the Choose Destination Directory dialog box a path using UNC instead of a mapped drive, the installation will complete, but the product will not function properly. _______________________________ SNC00002001 Sonic00000934 Uninstalling SonicMQ --- Before uninstalling SonicMQ, you must first shut down all programs accessing the SonicMQ files that will be uninstalled. (For example, SonicMQ clients, tools, samples, brokers, service broker components under Windows, Java Virtual Machines, and documentation files.) If files are not deletable because they are in use, the uninstall might fail in its attempts to delete these files. Uninstall SonicMQ using the Uninstall option on the SonicMQ Start menu. ================================================================================ SonicMQ - SonicMQ Management Framework _______________________________ SNC00083738 The queue metrics MaxAge and TimeInQueue are unavailable at configuration time --- In 8.5.1, two new broker queue metrics were added: queue.messages.MaxAge and queue.messages.TimeInQueue. These metrics are available in the Runtime view of the SMC, but not in the Configuration view. An updated BrokerMetricsMetaData.seed file must be manually tailored and imported into the Directory Service in order for these new metrics to be available at configuration time: 1) Edit the file <install-dir>\MQ8.5\config_ds\seed\types8.5\BrokerMetricsMetadata.seed: search for "@DOMAIN_NAME@" and replace it with the name of your domain (e.g. "Domain1"). 2) Use the MQ8.5\bin\configAdmin utility to connect to the DS and import the updated BrokerMetricsMetadata.seed file into the DS using the "seed-ds" command: seed-ds <install-dir>\MQ8.5\config_ds\seed\types8.5\BrokerMetricsMetadata.seed _______________________________ SNC00076391 Runtime metrics enablement behavior change --- The Runtime API behavior of dynamically enabling instance metrics at runtime has changed. Prior to version 8.0 you could enable all instances of a given parent using either the parent identity (e.g. "queue.messages.Count") or an appropriate pattern (e.g. "queue.messages.Count.*"). Using the parent form (e.g. "queue.messages.Count") is not supported in Sonic versions 8.0 and above. Sonic Management Console behavior is unaffected. _______________________________ SNC00067120 Routinely backup the Directory Service store --- Using Directory Service replication does not diminish the importance of routinely copying the Directory Service store to a secure location. Whether you using fault-tolerant management or standalone, use the interactive online and offline techniques described in the 'Managing Frameworks Components' chapter of the SonicMQ Configuration and Management Guide, or the programmatic techniques described in the BackupDS samples in the Runtime API chapter of the SonicMQ Administrative Programming Guide. _______________________________ SNC00066156 Sonic00040988 CollectionsMonitor storage obsolete after upgrade --- When a pre-7.6 CollectionsMonitor is upgraded, its persistent storage is obsolete and must be deleted. If the pre-7.6 storage isn't deleted, an error message is displayed in the container log at startup: "<storage_directory_name> is obsolete. It must be removed before the CollectionsMonitor is started." Once the pre-7.6 CM storage has been deleted, the CM will automatically create new storage on startup. _______________________________ SNC00031251 Sonic00019386 Directory Service startup log messages --- The container hosting the Directory Service component normally displays a connection-related warning message on startup (similar to that shown below). Assuming the container is correctly configured and there are no host resolution issues, these log messages are expected. This is because the same container is hosting the management broker and that broker has not started when the container makes its first connect attempt. If there are other management brokers already running and the container configuration includes URLs to those brokers, the message is not logged. Example log: [07/02/03 14:03:58] (info) "Domain1.Container1" starting... [07/02/03 14:04:09] (warning) Connect failure: java.net.ConnectException: Connection refused: no further information: tcp://SONICHOST:2506 [07/02/03 14:04:09] (warning) ...connect failed, retrying... [07/02/03 14:04:10] (info) Loaded ID=AGENT _______________________________ SNC00015203 Sonic00008098 Stopping the Management Broker --- If you execute the Stop operation on the broker that is being used for management communications, the container hosting the component will display the following message: 'ID=AGENT (severe) Failed to marshal reply to "invoke" on ID= xxxx'. This is a benign error and is a result of the container trying to send a response to the client via the broker that has been stopped. ================================================================================ SonicMQ - SonicMQ Management Tools _______________________________ SNC00082096 dsAdmin cannot find DS with HOST_DIRECTORY set to relative path in ds.xml --- If the HOST_DIRECTORY attribute in ds.xml is set to relative path, the dsAdmin tool is unable to connect to the DS. It quietly creates an empty DS Dump file and will not dump any files. The work around for this is to provide an absolute path for the HOST_DIRECTORY attribute in the ds.xml or using SMC regenerate the ds.xml with an absolute value. _______________________________ SNC00076838 Stored disconnected durable subscription messages are not listed when browsed. --- Stored disconnected durable subscriptions messages are not listed when viewed in the Local or Global subscription browse windows. The workaround is to right-click on the column header area of the empty table in the browse window, and then choose Fill. _______________________________ SNC00073947 Incomplete socket info displayed for HTTPS Tunnelling Connections --- The LocalSocket and RemoteSocket information displayed in the Sonic Management Console's 'Connections' view (and available via IBrokerProxy.getConnectionMemberDetails()) is incomplete/invalid for HTTPS Tunnelling connections. _______________________________ SNC00035521 Sonic00022114 Groups info not appearing in Add|Edit Group Mapping dialog box --- The Add|Edit Group Mapping dialog box might not contain groups information if it cannot find the information. Typical reasons for not being able to find the groups information are: - The tool cannot obtain internal groups or external list while you are creating an External Authentication Domain - The tool cannot obtain external groups because the Management SPI is not specified for the External domain - You just defined the Management SPI for the External domain and you have not yet performed the runtime "Reload External Domain" operation to initiate the discovery of groups in external domain. As a workaround, the dialog box allows you to manually enter the groups. _______________________________ SNC00032988 Sonic00020466 Not seeing notifications or metrics for newly initialized broker --- If you cannot see metrics or notifications for a newly initialized broker then, on the Manage tab, select the broker's container node in the tree and choose Refresh. Metrics and Notifications should then be available. _______________________________ SNC00032720 Sonic00020311 Management Console is only certified on Windows, Solaris and Linux --- The Management Console is only certified to operate on Windows, Solaris and Linux. You can manage brokers deployed on other supported platforms from the Management Console but the Management Console should only be run on these platforms. _______________________________ SNC00031516 Sonic00019540 Minor performance degradation of Sonic Management Console over time --- The user may notice minor performance degradations in the Sonic Management Console when using the console for prolonged periods with significant user activity. The workaround to this problem is to shut down and restart the Sonic Management Console. _______________________________ SNC00031287 Sonic00019405 Attempts to manage an offline container might cause incomplete tree display --- When clicking the File or Manage tab in the Sonic Management Console, if the connected container is down, and those tabs have not been selected before, you might see a navigation tree that is not completely loaded. When the container restarts, you can refresh the Sonic Management Console and the tree displays correctly. Alternatively, you can exit the Sonic Management Console and restart it. _______________________________ SNC00031015 Sonic00019242 Restart SMC after upgrading a config to get runtime information --- After upgrading a SonicMQ configuration, the runtime information presented under the Manage tab does not dynamically update. To get a runtime view of the upgraded broker or component, you must restart the Sonic Management Console. Configuration information is dynamically updated, but runtime information is not. _______________________________ SNC00030957 Sonic00019208 Restart SMC after a DS shutdown, restart, or failure --- The Sonic Management Console might display incorrect data if it is left running across a Directory Service shutdown (or failure) and restart. Stop and restart the Sonic Management Console after the Directory Service successfully restarts to correct this problem. _______________________________ SNC00004761 Sonic00002192 Time To Live (0) in JMS Test Client Message Header tab --- Using 0 as the value of the Time To Live field in the JMS Test Client message header tab yields incorrect results. The JMSExpiration of the message is set to 24 hours from the time that the message was sent. It should be set to 0, which means no expiration. _______________________________ SNC00002560 Sonic00001184 HP-UX: SMC and Test Client hang when creating a when creating a subscriber --- When running SonicMQ brokers on HP-UX machines, the default value for max_thread_proc (maximum threads per process) is insufficient. If you are using the default value you need to run the HP-UX sam utility to increase this value. The general formula for SonicMQ is max_thread_proc = 75*B + 2*C = total threads required where B is the number of brokers started, and C is the maximum number of concurrent connections. (Note that a Sonic Management Console and JMS Test Client each use a connection.) For example, if you run one broker that is supporting up to 200 connections, max_thread_proc = 75*1 + 2*200 = 475 ================================================================================ SonicMQ - SonicMQ Messaging Broker _______________________________ SNC00074589 "Address family not supported by protocol family" --- IPv6 addresses are not yet supported for DS Replication and HTTP Tunneling connections on Windows platforms. Configuring either of these connection types with IPv6 results in the associated domain manager or broker logging the error "Address family not supported by protocol family". This is due to limitations with IPv6 and Java NIO. _______________________________ SNC00037526 Sonic00023386 I/O Exception when updating the Broker Recovery Log --- An I/O exception may be thrown if the Broker is unable to update or access its internal files due to an access conflict with another process or application. This could be due to a system backup, anti-virus software, or other automated disk maintenance utilities. The user should ensure that the broker's recovery logs/database are excluded from such processes or that the broker is shut down when they occur. _______________________________ SNC00022006 Sonic00013554 Unassigned Dynamic Routing connection properties do not default correctly --- If you create a new dynamic routing connection definition and leave unassigned the "Global Subscription Expiration" or "Idle Timeout" properties, the value 0 (no timeout) is applied by the broker at runtime. The broker's global routing properties for "Global Subscription Expiration" and "Connect Idle Timeout" are ignored. If you want the broker's global routing properties to be applied to a dynamic routing definition, you must explicitly set the "Global Subscription Expiration" or "Idle Timeout" properties to match the broker's global routing settings. _______________________________ SNC00016890 Sonic00009065 Changing QoP Cipher Suites requires broker database reinitialization --- If you want to change a broker's cipher suites used for Quality of Protection, drain the broker's message store (disconnected durables and queues). Then, after changing the QoP definition or provider, initialize the database tables. _______________________________ SNC00006102 Sonic00002870 Clock changes affect timeToLive (TTL) --- Changing the system clock on a SonicMQ broker system can result in the early or late expiration of messages. It can also cause other unintended behavior if done while the broker is running. ================================================================================ SonicMQ - SonicMQ Messaging Client _______________________________ SNC00058183 Sonic00036107 Consuming messages from clustered queues --- For PTP client applications requiring the use of non-blocking MessageConsumer receives with Clustered-Queues, it is recommended that the MessageConsumer.receive(long) method be used and a long enough timeout provided to allow remote brokers time to transfer a message to the broker that the MessageConsumer is connected to. When using a PTP MessageConsumer with a Clustered-Queue as the Destination, the MessageConsumer.receiveNoWait() or the MessageConsumer.receive(long) with a short time period can appear to be ineffective in some situations. The reason is that these calls may not wait long enough for the interbroker "QueueGetRequestMgram" to be delivered and responded to by the peer brokers in the cluster. As a result, these calls may not return a message, even when there are many messages waiting at that Destination on one or more of the peer brokers. If the client code is written to keep retrying, then eventually the remote broker will reply and there will be something on the local broker for the receiveNoWait() call to return to the client. _______________________________ SNC00057604 Sonic00035762 Adaptive Pacing API and Message Consumers --- Message consumers are not supported on sessions that have Adaptive Pacing enabled. _______________________________ SNC00052079 Sonic00032383 JMS Client connecting through proxies --- Some proxies such as Sun Java Proxy 4.0, by default, do not allow an HTTP CONNECT to an IP address (although CONNECT to hostname is allowed). Since the SonicMQ client by default looks up the IP address of the hostname and uses that address to CONNECT, you can connect to HTTP(S) URLs through these types of proxies by setting -DHTTP_MAP_HOST_TO_IP=false. _______________________________ SNC00032724 Sonic00020313 Client Ping on HP-UX and Linux platforms --- There are bugs in the Linux and HP-UX JVMs which might prevent proper functioning when client ping is enabled. The following JVM workarounds are available for the Sonic certified platforms and should be instrumented. For Linux: The environment variable J2SE_PREEMPTCLOSE must be set to 1 before running the Sonic client. For example, for /bin/sh, set the environment variable as follows: J2SE_PREEMPTCLOSE=1 export J2SE_PREEMPTCLOSE Alternatively, you can edit the Sonic bin/setenv to define this environment variable. For HP-UX: The following VM extended parameter must be specified in the client VM command line: -XdoCloseWithReadPending For example, to run the client examples, you should edit the samples/SonicMQ.sh script directly to include this Java option . _______________________________ SNC00030116 Sonic00018696 URL Connection List error processing --- When specifying multiple URLS for a ConnectionFactory via setConnectionURLs, all exceptions encountered during the connection process are not propagated to the user. Instead, if no successful connection is established, the exception that is generated for the last attempted connection is propagated. For example, if two URLs are specified, tcp://Broker1:2506 and tcp://Broker2:2506. Internally, if the connection attempt to Broker1 fails due to a connection limit being exceeded, and Broker2 is unavailable, the exception that is propagated indicates the broker is unavailable, not a connection limit being exceeded. _______________________________ SNC00013074 Sonic00006694 Network connection drop not propagated to clients on UNIX systems --- On many UNIX platforms (Solaris, AIX, HP-UX) it might take several minutes for a Sonic client to detect loss of network (for example, a cable pull). On Linux, loss of network might go undetected for several hours. For more timely detection it is therefore recommended that setPingInterval be applied on the client connection. For Sonic persistent clients, slow detection of loss of network delays the client from sending. Offline sending to local storage is not initiated until network loss is detected. For persistent clients running on Linux, you should use setPingInterval to detect the connection drop. When you use setPingInterval on the connection object, the client will log messages to the local store and the application can continue to publish until the connection is reestablished. For example, to set a ping interval of 60 seconds in the client persistence sample, ContinuousPublisher.java, make the following code changes: connect = (progress.message.jclient.TopicConnection) factory .createTopicConnection (m_username, m_password); connect.setPingInterval(60); /* 60 secs */ _______________________________ SNC00010980 Sonic00005505 Client delivery thread continues to call onMessage after network failure --- Applications that reestablish Connections or perform extensive processing inside their onException method to handle ConnectionDropped errors might experience side effects due to other threads from the failed connection continuing to run. Cleanup occurs inside the runtime after the onException method returns. Applications can explicitly close the old connection before reestablishing the new one to allow cleanup to happen earlier. _______________________________ SNC00009253 Sonic00004592 Message acknowledgement on closed Consumers --- JMS allows a message to be acknowledged after its message consumer is closed. Applications taking advantage of this logic must be aware of two potential issues: If the consumer is a QueueReceiver, a prefetch count of 1 should be used instead of the default. If the consumer is a DurableSubscriber trying to reconnect the consumer while messages are still pending acknowledgement, a connection already exists error will result. If possible, an application should close a consumer after acknowledging messages delivered to the consumer. _______________________________ SNC00007458 Sonic00003584 Queue Browser can return messages more than once --- Setting the prefetch threshold of a Queue Browser to a value greater than 1 can result in a Queue Browser returning messages multiple times. Therefore, it is recommended to use the default setting for a Queue Browser's prefetch threshold. _______________________________ SNC00005536 Sonic00002577 Call to receiveNoWait() Method Requires Delay after Connection --- A call to receiveNoWait() on a durable subscriber immediately after a connection is made might return no message even if messages have been persisted for this subscriber. This is because it takes some time for the message broker to retrieve messages from the message store and message might not be available yet when the first receiveNoWait() is called. _______________________________ SNC00004871 Sonic00002245 JMSExpiration value might vary among JMS clients --- To provide the maximum available precision in the expiration of messages, the JMSExpiration parameter takes into account differences in the local system clocks of JMS client systems. This means that the JMSExpiration parameter might appear to have different values on multiple JMS clients with differing local system clocks. The JMSExpiration parameter represents the time a given message will expire if it were to expire on the system where the JMSExpiration parameter is being retrieved. This is particularly visible when browsing queues from two different client systems with varying local system clocks. This allows for developers to compare the JMSExpiration time with the local system time and not have to concern themselves with time differences between the originating JMS client and the receiving JMS client. In addition, the current system clock's value might be less than the JMSExpiration value when the message is being received by the JMS application. This can occur because of a number of factors since JMS messages do not expire within JMS clients, only on the SonicMQ brokers. ================================================================================ SonicMQ - SonicMQ Multibroker _______________________________ SNC00019076 Sonic00010382 Flow Control events for Remote Publishing and Global Subscriptions --- For applications publishing to global destinations or global subscriptions, flow control is triggered from the routing queue. The publishers that are flow controlled will generate SendPause and SendResume notifications. _______________________________ SNC00006016 Sonic00002823 Queue routing ignores the sequential flag when connecting --- The sequential property of routing definitions is ignored; routing connections always use a sequential algorithm. _______________________________ SNC00005163 Sonic00002388 HTTP/HTTPS not supported within a cluster --- HTTP and HTTPS are not supported for interbroker connections within a cluster. However, you can use HTTP and HTTPS for routing connections. ================================================================================ SonicMQ - SonicMQ Security _______________________________ SNC00081292 Issues with reloading MQ brokers configured with PASS security --- More recent JVMs have stricter class loading enforcement resulting in "java.lang.LinkageError: loader constraint violation in interface itable initialization" errors when brokers configured with PASS security are reloaded. To avoid these errors, restart container's hosting such brokers (vs. reloading the broker). This includes overriding any reload instructions given in the Advanced Security samples. _______________________________ SNC00074526 BROKER_SSL_PARAMETERS.ENABLE_TLSV1_ONLY parameter has no effect using JSSE --- The broker advanced property BROKER_SSL_PARAMETERS.ENABLE_TLSV1_ONLY no longer has any affect once migrating to JSSE after upgrade. To use TLS v1 with JSSE, select the cipher suite(s) prefixed with "TLS_"; e.g., TLS_RSA_WITH_AES_128_CBC_SHA and/or TLS_RSA_WITH_AES_256_CBC_SHA. _______________________________ SNC00066096 Sonic00040937 Reload of ExtAuthDomain in Adv Security sample fails with ClassCastException --- In the SonicMQ Advanced Security sample, after creating the Authentication SPI, Management SPI and the External Authentication Domain, the Reload External Authentication Domain operation fails with an exception: java.lang.ClassCastException: org.apache.xerces.jaxp.DocumentBuilderFactoryImpl This is due to the sample Management SPI implementation's dependence on the xerces libraries. To make this work, the xercesImpl.jar and xmlParserAPIs.jar from the MQn.n.n/lib directory must be added to the Domain Manager container's classpath. This can be accomplished via the "Prepend Classpath" setting on the "Resources" tab of the "Edit Container Properties" dialog box in the Sonic Management Console. _______________________________ SNC00048095 Sonic00029994 Using ACLs through Config API require correct name of resource types --- When entering ACLs through the configuration API the calling program must be careful to use the correct case sensitive strings: "topic", "queue", "URL". Failure to use the correct strings may result in the following error message: 'Failed to save bean - Resource Name cannot contain ::, \ or $ characters' _______________________________ SNC00034028 Sonic00021153 Pluggable Cipher Suites --- Using heterogeneous JVM providers on Directory Service broker and other non-DS brokers does not work when they are configured to use Pluggable Cipher Suite in Broker QoP. For example, using Pluggable Cipher Suite (cipher AES 256), a non-DS broker on AIX running on IBM 1.6 cannot connect to a DS broker running on Sun 1.6 on Windows 2003. To solve this issue, ensure that all the brokers have the same JVM provider. _______________________________ SNC00032447 Sonic00020137 PASS Sample fails to find AuthSPI class and throws exception on starting broker --- Entering an Authentication SPI class path that contains leading or trailing spaces will result in a "Authentication SPI class not found" exception when starting the broker. _______________________________ SNC00016788 Sonic00009009 Info: ACLs and QoP are settable on SonicMQ.deadMessage --- While most system queues and topics are read only, the system queue SonicMQ.deadMessage can be modified to control user access and quality of protection. ================================================================================ SonicMQ - SonicMQ Third Party _______________________________ SNC00081266 Effects of changing the JVM version in an upgrade --- The effect of changing the JVM in use (directly (through any 7.x upgrade, or an 8.x Domain Manager upgrade), or indirectly by user-initiated JVM upgrades at remote sites) can cause Sonic runtime to exhibit different memory limits and performance. The subtle changes in the JVM could cause unexpected behavior in some circumstances where memory usage is already constrained. _______________________________ SNC00073596 Acceptors bound to link-local IPv6 addresses fail on Linux --- On Linux, acceptors cannot be bound to link-local addresses at present (e.g. using the #ONLY postfix on an acceptor's port number). This is due to Sun JVM defects 6206527 and 6800096. The first of these defects results in a "java.net.BindException: Cannot assign requested address" in the broker log when starting the acceptor and is fixed in the Sun 1.6 JVM. The second is a client-side issue and still exists in the 1.6 JVM at the time of writing. _______________________________ SNC00042895 Sonic00026877 .NET Interop: MS WSE 2.0 expects optional elements in UsernameTokens --- You might receive the following fault when invoking a Microsoft .NET web service with a UsernameToken that has a clear text password: "System.Exception: WSE567: The incoming Username token must contain both a nonce and a creation time for the replay detection feature." This is caused because the .NET web service expects the optional nonce and a creation time elements. To workaround this issue, replay detection must be disabled in the .NET web service's Web.config file. _______________________________ SNC00023440 Sonic00014556 Difficulty connecting to an LDAP Server when Organization Unit has spaces --- If you are having difficulty connecting to an LDAP server (from the JMS Administered Object Tool) that contains spaces in the organizational unit, there is a workaround available. Try replacing the spaces with "%20" to infer a space rather than a delimiter. For example: ldap://localhost:389/ou=Progress%20Software,o=bedford.progress.com ================================================================================ Install, Upgrade, Update, and Uninstall _______________________________ SNC00078742 Cannot change update location after advancing to next panel --- Once you have chosen a target location to update and then clicked Next, going back to the Sonic Install Location panel to change the target location does not apply the change. The initially specified location is where the update is applied. To change the location, click Cancel, run the updater again, and then enter the preferred target location. _______________________________ SNC00078026 SP installer error: Windows error 3 loading JVM --- This error occurs when the installer cannot find the correct Java executable to launch the installer. The workaround for this issue is to launch the installer by using the following command: install.exe LAX_VM "java.exe path" where "java.exe path" is the explicit path to the appropriate Java. _______________________________ SNC00068693 Set DISPLAY to a valid X11 display --- If your DISPLAY environment variable is not set to a valid display, you might get exceptions when installing ESB on a 64-bit Linux using the IBM 1.5 java2-x86_64-50 jvm. To set your DISPLAY variable in a csh: setenv DISPLAY=`hostname`:0.0 To set you DISPLAY variable in other shells: DISPLAY=`hostname`:0.0; export DISPLAY _______________________________ SNC00067216 Silent install will fail when using a fully qualified hostname --- The default name for a Messaging Broker is the machine name, or hostname. A hostname that is fully qualified, like "myhost.mycompany.com", is an invalid name for a broker. If you are performing an install on a machine that is configured to use a fully qualified hostname, be sure to specify a valid broker name. If you are performing a silent install on the machine, you must specify the valid broker name in your response file. _______________________________ SNC00076881 Sonic Installer might fail on Solaris --- When the file descriptor limit is set to 'unlimited', the Sonic Installer fails with this message: awk: insufficient memory for string storage Context is:>>> <<< Workaround: Set the file descriptor limit to a fixed number, prior to installing, for example: ulimit -n 8192 _______________________________ SNC00066073 Sonic00040921 Intermittent Container View issue after upgrade --- When the Workbench is upgraded, sometimes the upgraded containers will not get listed in the containers view when the old cache is being used. The workaround is to delete the existing cache of Domain Manager and all managed monitored containers, located at the working directory of the respective containers. _______________________________ SNC00066056 Sonic00040910 Workbench startup script on Linux/UNIX fails if there are spaces in the name --- If the Workbench is installed into a directory name that has spaces on a Linux/UNIX system, the startworkbench.sh script must be modified to put quotation marks around the directory name in the first line. _______________________________ SNC00065967 Sonic00040835 Failure to start the verification service after upgrade of Sonic ESB --- When you upgrade a Sonic ESB installation to Sonic ESB 8.x, the management containers hosting the Verification Service might not be updated, while the Verification Service and its ESB container are upgraded. In this case, if you want to run the Verification Service, you should upgrade the management container hosting the ESB container, and then start it. _______________________________ SNC00065797 Sonic00040717 Workbench home location might not get updated when upgraded --- In Sonic Workbench, when the workspace is mapped to an external location (other than <sonic-home>\Workbench<product-version>\workspace), during upgrade, the domain connection preferences might not be updated with the new installation details. This can cause failure to start or connect to the domain manager. The workaround is to manually edit the Progress > Sonic > Domain Connection node preference in the Window > Preferences > Progress > Sonic > Domain Connection preferences page. _______________________________ SNC00065422 Sonic00040469 After upgrade, some menu shortcuts might need to be reset --- In some circumstances, menu shortcuts for XML, XSD, and WSDL files in Workbench are missing after an upgrade. To refresh the shortcuts, from the Window menu on the Workbench, either choose Reset Perspective, or choose Customize Perspective to include these shortcuts. _______________________________ SNC00053545 Sonic00033226 Lots of logging to the console when running Sonic Workbench on Linux --- When running Sonic Workbench on Linux, you might notice exceptions logged to the console. These are benign errors and should be ignored. ================================================================================ RESOLVED ISSUES ================================================================================ The resolved issues in this release are the following: _______________________________ SNC00083360 RESOLVED in 8.5.1 SonicMQ: Need broker-side max (re)delivery limit for PTP messages --- This feature allows the broker to reject a PTP message if it gets reenqueued (e.g. due to failed delivery) a certain number of times. To enable it, set SonicMQ.BROKER_MAX_DELIVERY_COUNT in the broker's Java environment to a value between 0 (to disable the feature) and 127 (Byte.MAX_VALUE). When using this feature it's advisable to disable prefetch on the clients, otherwise messages may be delivered internally to a client and subsequently get returned to the broker (e.g. if the session is closed or the connection drops) without the message ever having been seen by the user's code; in other words onMessage() may never have been called for the message but the broker-side redelivery count could be incremented. _______________________________ SNC00083348 RESOLVED in 8.5.1 SonicMQ: Deadlock between InterbrokerListener and ReplicationListener OOM --- Deadlock between disconnecting InterbrokerListener and ReplicationListener cause OOM due to lots of attempts to re-establish an interbroker connection. _______________________________ SNC00083307 RESOLVED in 8.5.1 SDM: Cannot resolve any online host managers for Machine --- A cleanDomain command that spans more than one host and is dependent on HostManager components running remotely will sometimes fail to deploy components on the remote hosts if the HostManager components don't come online in the new domain before SDM tries to contact the remote hosts. _______________________________ SNC00083256 RESOLVED in 8.5.1 CSharp Client: .NET client hangs in send --- .NET client intermittently hangs in send when the frequency of send call is very high. _______________________________ SNC00083114 RESOLVED in 8.5.1 SonicMQ: ConcurrentModificationException in MF Container startComponents --- If active processing is requested before the container has started, then wait for the container to start before starting components, to avoid ConcurrentModificationException in FT MF Container during ContainerImpl.startComponents _______________________________ SNC00083091 RESOLVED in 8.5.1 SonicMQ: "java.util.ConcurrentModificationException" during Online Backup --- The following exception may be thrown during a Directory Service Online Backup: Exception in thread "Thread-309455" java.lang.Error: java.util.ConcurrentModificationException at com.sonicsw.mf.framework.directory.impl.IDCache.wrapAsElement(IDCache.java:117) at com.sonicsw.mf.framework.directory.impl.DirectoryService.updateBackupTimestamp( DirectoryService.java:8473) at com.sonicsw.mf.framework.directory.impl.DirectoryService.access$700(DirectorySe rvice.java:157) at com.sonicsw.mf.framework.directory.impl.DirectoryService$3.run(DirectoryService .java:8392) _______________________________ SNC00083090 RESOLVED in 8.5.1 SonicMQ: DS Online Backup status is not reset after failure. --- The DS online backup does not deal with java.lang.Throwable, and so a runtime error thrown while doing the online backup or resetting the backup status will result in the status never getting reset. _______________________________ SNC00083079 RESOLVED in 8.5.1 SonicMQ: Message selectors slow for queues with mixed priority messages --- If messages with differing JMS Priority values are placed on a Queue that has receivers with message selectors, there may be excessive overhead in processing the selectors. _______________________________ SNC00083077 RESOLVED in 8.5.1 SonicMQ: Both FT MF containers hosting ESB containers activate on startup --- Fault Tolerant MF containers hosting ESB containers both activate on startup causing the services in both to activate. This appears to be a regression introduced by 7.6.2.60. _______________________________ SNC00083042 RESOLVED in 8.5.1 SonicMQ: Failure to log message due to OOM causes infinite loop --- Infinite loop occurs when out of memory occurs while attempting to log a message. _______________________________ SNC00083041 RESOLVED in 8.5.1 SonicMQ: Need ability to select multiple containers when adding into AD --- Through the Sonic Management Console, allow the ability to select multiple containers when adding containers to an activation daemon's activation list. Many of our deployments have many containers in a single domain and having to add containers one at a time to the activation list is a much larger task than it needs to be. _______________________________ SNC00082910 RESOLVED in 8.5.1 SonicMQ: HTTPS Tunneling parameters cannot be reset after connection fail --- HTTPS Tunneling parameters, such as https.proxyHost, https.proxyPort, sonic.https.proxyUsername, and sonic.https.proxyPassword, cannot be reset if invalid. These properties are being set and used by Java static initializers in the classes that implement the SonicMQ HTTPS Tunneling Protocol. If they are set and the first connection fails because they are not set correctly, they cannot be reset without restarting the client application. _______________________________ SNC00082887 RESOLVED in 8.5.1 SonicMQ: "The broker cannot accept any more connections" hit prematurely --- CWADS subscribers on neighboring brokers were mistakenly counted as connections during failover/recovery. This led to the broker's connection count (visible via the broker.connections.Count metric) being unexpectedly high and consequently caused the broker's 'Max Connections' limit (if set) to be hit prematurely. _______________________________ SNC00082864 RESOLVED in 8.5.1 C Client: "Access violation reading location" when handling FT connections --- C++ client throws Unhandled exception caused by an "Access violation readng locaion" when handling Fault connections to a broker that is temporarily unavailable. _______________________________ SNC00082855 RESOLVED in 8.5.1 SonicMQ: Programatically setting HTTPS proxy not recognized --- In HotFix patch 7.6.2.59 a regression was introduced that prevents properties set via the System.setProperty() method from being recognized and used for HTTPS Tunneling connections. _______________________________ SNC00082854 RESOLVED in 8.5.1 SonicMQ: Socket handshake failure not handled correctly for URL list --- When there is a handshake failure (due to no response), and still within the overall connect timeout, need to move on and try other URLs in a URL list, rather than failing on the first handshake failure. _______________________________ SNC00082782 RESOLVED in 8.5.1 SonicMQ: PASS classpath fails to load JAR from sonicfs, on Linux --- Setting the Java System property "path.separator" to ";" on the container Environment worked around this problem, so logic needs to be updated to handle the: in soncifs:// _______________________________ SNC00082761 RESOLVED in 8.5.1 SonicMQ: Client Persistence: memory leak when sessions are created/closed --- Repeatedly creating and closing sessions will cause a memory leak when using Client Persistence. _______________________________ SNC00082747 RESOLVED in 8.5.1 SonicMQ: Need to protect against EMsgTooBigException in mgmt layer --- The size of each mgmt message should be checked before being published, to avoid EMsgTooBigException in the Sonic Management layer. _______________________________ SNC00082724 RESOLVED in 8.5.1 SonicMQ: HTTPS tunneling through proxy fails if SecurityManager defined --- HTTPS tunneling through proxy fails if the client application has a SecurityManager defined. This was found by a client trying to run HTTPS Tunneling from a SonicMQ Java client lauched from Web Start, which defines a security manager of type: com.sun.javaws.security.JavaWebStartSecurity. The Https Tunneling client code initializes several statics variables for URL handler, proxy properties, hostname verifier, etc. the first time it is loaded. In that static initialization, it checks if there is a SecurityManager running in the JVM. If there is, the code is incorrectly written to assume that it is for browsers with the Java plugin. _______________________________ SNC00082692 RESOLVED in 8.5.1 SonicMQ: Broker shutdown after java.lang.ArrayIndexOutOfBoundsException --- Broker shutdown due to java.lang.ArrayIndexOutOfBoundsException within SidebandData.fromByteArray() _______________________________ SNC00082673 RESOLVED in 8.5.1 SonicMQ: Deadlock with "Service Maintainer: Temporary DS Monitor" --- Deadlock between "Task Runner" and "Service Maintainer: Temporary DS Monitor" threads. _______________________________ SNC00082650 RESOLVED in 8.5.1 SonicMQ: Error logging a message that would overwrite recovery info --- In a CAA environment with some non-fault-tolerant publisher or subscriber connections, there is a timing issue where the standby broker may shut down to avoid overwriting recovery info. _______________________________ SNC00082619 RESOLVED in 8.5.1 SonicMQ: OOM with HTTPS acceptors --- OOM error with HTTPS acceptors when using ciphers not supported by the certificate. When SSL debug is enabled, the following error repeats over and over again until the container runs out of memory and the acceptor is then shutdown: com.sonicsw.security.ssl.X509KeyManagerServerImpl.chooseServerAlias() keyType = DSA server alias = sonic com.sonicsw.security.ssl.X509KeyManagerServerImpl.getServerAliases(): keyType = DSA, issue(s): com.sonicsw.security.ssl.X509KeyManagerServerImpl.getServerAliases(): returning null _______________________________ SNC00082585 RESOLVED in 8.5.1 SonicMQ: CollectionsMonitor Storage issue: NPE in AsyncDeleteManager --- Container hosting the Event Monitor threws a "StorageException: Failed to store history" error with Stack trace due to NullPointerException at com.sonicsw.mtstorage.impl.AsyncDeleteManager.transEnd. _______________________________ SNC00082576 RESOLVED in 8.5.1 SonicMQ: Actional auditing of message fields not working --- SonicMQ Interceptor not reporting Message Fields when audited by Actional _______________________________ SNC00082452 RESOLVED in 8.5.1 SonicMQ: Standby broker hangs in shutdown after log size error --- A standby broker may fail to shutdown gracefully after running out of log space. This is due to a timing issue that may occur when one of the replication connections has weight 0. _______________________________ SNC00082382 RESOLVED in 8.5.1 SonicMQ: Thread deadlock while reloading component --- Issues in Domain after patching from 7.6.2.37 to 7.6.2.54. Thread deadlock while logging during a component reload. _______________________________ SNC00082371 RESOLVED in 8.5.1 SonicMQ: System slow for hours after Directory Service Recovery --- System slow for hours after Directory Service Recovery from a Directory Service backup, often resulting in a crash of the Domain Manager container. _______________________________ SNC00082331 RESOLVED in 8.5.1 SonicMQ: Broker replication blocked after repeated channel switches --- If replication proactively switches away from a channel because a higher-weighted channel becomes available, replication ends up blocked if it subsequently tries to switch back to that prior channel. _______________________________ SNC00082319 RESOLVED in 8.5.1 SonicMQ: Broker stopped due to "Object <1000000000a73> was not found" --- Broker went down with the following exception: "com.odi.ObjectNotFoundException: Object <1000000000a73> was not found", caused by a problem with the index maintenance code of the embedded db _______________________________ SNC00082297 RESOLVED in 8.5.1 SonicMQ: Broker deadlock after NPE in replication connection --- Broker deadlock after a NullPointerException in the replication connection _______________________________ SNC00082296 RESOLVED in 8.5.1 SDM: SDM updateInstallation is very slow when the DS is large --- When the Directory Service of the domain manager contains a large number of elements, merging XAR files into it using SDM is very slow. _______________________________ SNC00082292 RESOLVED in 8.5.1 SonicMQ: Interbroker connection flow control can cause messages to block --- Interbroker connections flow control and do not release, causing messages to block until brokers are restarted. _______________________________ SNC00082277 RESOLVED in 8.5.1 SonicMQ: DS failover failed during reboot due to NPE --- DS failover failed during reboot due to NPE in replication connection code _______________________________ SNC00082245 RESOLVED in 8.5.1 SonicMQ: Advertised global queues feature not properly documented --- The Sonic documentation does not clearly describe the "Advertise Global Queues" feature. _______________________________ SNC00082206 RESOLVED in 8.5.1 SonicMQ: Broker stuck in STANDBY_SYNC state even after reboot --- Broker comes up in STANDBY_SYNC state instead of STANDBY state after a reboot _______________________________ SNC00082184 RESOLVED in 8.5.1 SonicMQ: NullPointerException in ClientListener when closing connection --- There was a potential race condition in the SonicMQ client which could show up when a JMS Connection and an associated JMS Session were both explicitly closed by the client application, in parallel, from different threads. The close calls succeeded but a NullPointerException might appear in the client's stderr stream. _______________________________ SNC00082092 RESOLVED in 8.5.1 SonicMQ: DSComponent.listAll is inefficient in checking permissions --- The internal method DSComponent.listAll will make one extra call for every element it will return even if management permissions are not enabled, or globally not checked, as is the case for JNDI objects. Performance can then be impacted for DS stores with large numbers of JNDI objects, for instance. _______________________________ SNC00082060 RESOLVED in 8.5.1 SDM: <ShutdownAfterRun> DSHost option should allow for custom ant tas --- <ShutdownAfterRun> DSHost option should wait to shutdown the DS until after the custom post-cleaninstall task has executed. _______________________________ SNC00081921 RESOLVED in 8.5.1 CSharp Client: Memory leak when sending nonpersistent message in C# client --- Memory leak when sending nonpersistent message in C# client - private memory size continually grows when the delivery mode is NON_PERSISTENT. _______________________________ SNC00081889 RESOLVED in 8.5.1 SDM: The SDM deos not permit host names containing underscore --- The Sonic Deployment Manager does not permit host names that contain an underscore character. _______________________________ SNC00081887 RESOLVED in 8.5.1 SDM: SDM does not accept host names beginning with a digit. --- The Sonic Deployment Manager requires host names to begin with alphabetic characters (a-z or A-Z). It will not permit host names like: 123DEV. _______________________________ SNC00081790 RESOLVED in 8.5.1 SDM: SDM should not allow clustered queues to be exclusive. --- As per documentation "Clustered queues cannot be exclusive". SMC enforces this restriction by disabling (graying out) the exclusivity checkbox out if the queue is clustered. However SDM is allowing clustered queues to be exclusive. Consequently the only way to correct this is to delete the queue and recreate it. _______________________________ SNC00081719 RESOLVED in 8.5.1 SDM: Incorrect Queues id in Deletes.xml causes cluster to be deleted --- A Queues element id in a Cluster that is not defined elsewhere in Deletes.xml will cause the entire Cluster to be deleted when executing removeComponents in SDM. _______________________________ SNC00081677 RESOLVED in 8.5.1 JCA Resource Adapter: JCA resource adapter documentation incomplete --- JCA resource adapter documentation incomplete _______________________________ SNC00081544 RESOLVED in 8.5.1 JCA Resource Adapter: Deadlock in resource adapter under load --- JMSConnectionAdapter.close() and JMSConnectionAdapter.createSession() calls in two threads are on two different JMSConnectionAdapter instances, and can cause a deadlock. _______________________________ SNC00081458 RESOLVED in 8.5.1 C Client: C Client subsciber hangs[Dead lock] with modified ReliableChat --- C Client subsciber hangs[Dead lock] with modified ReliableChat _______________________________ SNC00081009 RESOLVED in 8.5.1 C Client: CF's setSequential set to false doesn't pick random url. --- Setting C Client XXXXConnectionFactory_setSequential to false does not pick random point in url list. _______________________________ SNC00080494 RESOLVED in 8.5.1 SonicMQ: Duplicate PSEMessage2 instances introduced by PSE compact util --- The DBCompact utility, invoked by running dbtool.bat/dbtool.sh with the '-z' flag, introduces some duplicate objects into the broker's embedded datastore which in turn causes problems for the broker. _______________________________ SNC00080382 RESOLVED in 8.5.1 C Client: C++ client stops responding when queue triggers send to another --- The C++ client stops responding and needs to be terminated when one queue triggers a send to another queue; apparently due to non-blocking i/o on Windows _______________________________ SNC00080306 RESOLVED in 8.5.1 SonicMQ: SMC's Socket Connect Timeout unit in Deployment Guide is wrong. --- SMC's Socket Connect Timeout unit in Deployment Guide is wrong. It says "positive integer value indicates the number of milliseconds...". But the unit of measure is actually "seconds" _______________________________ SNC00080253 RESOLVED in 8.5.1 SDM: Option is needed to shutdown the DM at the end of an SDM run --- There should be an option to specify in an SDM model that the DomainManager is shutdown at the end of an SDM run. This is required so that the remote execution of an SDM run (via RemoteResource.xml and HostManager exec of Ant) can complete cleanly and return. _______________________________ SNC00080137 RESOLVED in 8.5.1 SDM: cleanDomain cannot process ESB with boot file encryption --- The cleanDomain command will fail with the error 'Fail to decrypt data' if the model includes ESB and the topology file specifies a password for boot file encryption. _______________________________ SNC00079418 RESOLVED in 8.5.1 CSharp Client: Unable to set "TCP Connect Timeout" in Sonic .NET client --- Sonic .NET client does not set "TCP Connect Timeout", so clients could wait indefinitely. _______________________________ SNC00079315 RESOLVED in 8.5.1 C Client: Support needed for Undelivered Destination in C/C++ client --- C++ client doesn't seem to support the Undelivered Destination to specify custom DMQs. Setting "JMS_SonicMQ_destinationUndelivered" property has no effect. The default DMQ is always used. _______________________________ SNC00079240 RESOLVED in 8.5.1 C Client: Message compression needed for low bandwidth networks --- Need a way to compress JMS messages to save latency when sending them over low-bandwidth networks. _______________________________ SNC00079182 RESOLVED in 8.5.1 JCA Resource Adapter: JCA Resource Adapter WAS supportability clarification --- JCA Resource Adapter WAS supportability clarification _______________________________ SNC00078999 RESOLVED in 8.5.1 C Client: Incorrect "TCP Connection Timeout" unit in docs/samples. --- Incorrect "TCP Connection Timeout" unit in the documentation and samples. It should be in seconds not milliseconds. And default value is 30 (not zero). _______________________________ SNC00076783 RESOLVED in 8.5.1 SonicMQ: FT MF Container failure detection needed with non-MF connections --- Enhancement to FT containers to allow fault detection using MQ connections other than the container's own management connection. _______________________________ SNC00071828 RESOLVED in 8.5.1 SonicMQ: JNDI IllegalArgumentException: "timeout value is negative" --- JNDI IllegalArgumentException: "timeout value is negative" thrown from the Idle State Verifier thread of Sonic's jndi client. _______________________________ SNC00071666 RESOLVED in 8.5.1 C Client: FT connections do not work for C Client 7.6.1, MQ7.6.1, AIX 5.3 --- A C Client application (using either the 32-bit or 64-bit C Client libs) using FT connections will not try the next broker URL in the Connection URL list when running against SonicMQ 7.6.1 on AIX 5.3. Instead, an error such as this is displayed: getsockname failed! getsockname failed! getsockname failed! Error creating TopicConnection [JMSException] Unexpected exception during connect Cannot connect to broker tsibm1:2508,tsibm1:2507. Pausing 10 seconds before retry. _______________________________ SNC00071270 RESOLVED in 8.5.1 SonicMQ: ArrayIndexOutOfBoundsException in broker db storage allocation --- Broker rarely but occasionally getting ArrayIndexOutOfBoundsException in db storage allocation, specifically during com.sonicsw.storage.impl.BitUtil.putShort _______________________________ SNC00069630 RESOLVED in 8.5.1 SonicMQ: Deployment guide does not use the same term as the config guide --- Progress SonicMQ Configuration and Management Guide V7.6 says, correctly, "routings acceptor" but Progress SonicMQ Deployment Guide V7.6 says "Routing acceptor." _______________________________ SNC00069488 RESOLVED in 8.5.1 SonicMQ: New Notification: long time on queue --- Send a notification when the oldest message on a queue exceeds a configured threshold. _______________________________ SNC00069487 RESOLVED in 8.5.1 SonicMQ: New Metric "Time on Queue" --- Add a metric that show how long messages stay on a queue. _______________________________ SNC00069342 RESOLVED in 8.5.1 CSharp Client: .Net C# client memory leaks connecting FT brokers --- C# client connects to FT pair of brokers experienced memory leaks. The memory was not released even when the client did not send messages, and memory increases every time message are sent. _______________________________ SNC00069272 RESOLVED in 8.5.1 SonicMQ: Documentation on launching MF containers as UNIX daemons --- Documentation on launching MF containers as UNIX daemons _______________________________ SNC00065249 Sonic00040362 RESOLVED in 8.5.1 SonicMQ: Error reconciling durable subscription data with neighbor Broker --- A NullPointerException may occur when reconciling durable subscription data with a neighbor Broker _______________________________ SNC00051757 Sonic00032154 RESOLVED in 8.5.1 SonicMQ: Activation daemon doesn't allow for summer/winter time changes --- The hour of daily and weekly schedules falls out of sync when the schedules pass over a daylight savings time start or end date.