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.