Product Name: FioranoMQ
Version: 9.2.0
Date: March 24, 2010
Fiorano Software is releasing version 9.2.0 of FioranoMQ. This release notes provides information about the enhancements and the resolved issues in this release.
Note: Visit the Fiorano Support Portal http://support.fiorano.com for details about any subsequent patches for this release. We recommend you to check for Patches prior to the installation.
Note: To upgrade your current FioranoMQ to FioranoMQ 9.2.0, please use the migration scripts provided at $FIORANO_HOME/fmq/bin/<migration folder>. Please follow the instructions provided in the readme.txt file provided in the same directory.
This section describes the new features introduced in the FioranoMQ 9.2.0 release.
1. Audit management
Audit Management provides a clear picture of the actions performed on Server’s security realms. This helps Administrators in detecting any security violation and conducting post-mortem analysis on the logged information. With the help of policies/rules, you can fine tune the server to log specific activities performed by a set of users or the successful/unsuccessful login attempts and so on.
2. Internationalization of dashboard and refining log statements
All log statements are internationalized and Japanese UI statements are added in dashboard.
3. CSP DB recovery tool
DB recovery tool is modified to handle database corruption in Client Side Persistence cache. If CSP cache is corrupted because of No disk space issue or client crash issue, the user will be able to recover the database and send those messages to the server.
4. SSL support for C# clients
SSL support has been added for CSharp runtime library. The CSharp client application can now use SSL capabilities of the server.
5. Bridge profile
Configuration files are added for bridges between FioranoMQ and other MQ vendors like SonicMQ, ActiveMQ, OpenMQ. Samples are also added to produce/consume messages from other vendors. See chapter 12 in FioranoMQHandBook for detailed information on how to configure profiles.
6. Python APIs
New JMS interface has been introduced in Python script for connecting Python applications to the FioranoMQ server. The Python APIs are extended to use the native C runtime library that has complete feature support. The Python package can be downloaded similar to other non-java client libraries.
The following changes are included in the FioranoMQ 9.2.0 release:
1. EnsureUniquenessOfClientID is changed to true. This flag will ensure that no two connections will be created with the same clientID. This is present in earlier version of releases also but its default value was set as false. Before migrating to this release, all clients connections need to be verified whether they are using a unique clientID or not.
2. StoreNPMessageInDb is removed as this flag does not have any effect.
3. Users with blank passwords are not allowed and password also cannot be changed to blank password.
4. Default dashboard ports for bridge and repeater is modified.
5. Shared HA servers cannot be started without specifying -dbPath argument while running the server.
6. Browse Queues option in ConfigureQueues is moved to MonitorQueues in fmq dashboard.
This section describes issues resolved in 9.2.0 release:
Client has to discard messages that are marked deleted while sending messages from CSP cache.
Connection close API is required at server level when auto revalidation is not enabled.
Message selectors functionality doesn’t work in repeater.
Hierarchical topics creation is not working in C clients.
Hierarchical topics deletion is not shown in dashboard.
Route deletion throws Null Pointer Exception when destination type is changed.
Server is printing the wrong IP Address on some machines.
Invalid reply topic names are accepted in repeater.
Directory Service logs are not shown in dashboard.
Duplicate links are created in bridge when same link is added multiple times through dashboard.
The implementation title is not substituted in the service display name when server is running as windows service.
Negative passive durable subscriber count is shown in durable subscribers view in dashboard when durable subscribers are created with same name multiple times.
The Windows service script does not work when profile name contains back slash "\".
JVM arguments are not handled properly in the windows service script.
Duplicate links are created in repeater when same link is added multiple times through WMT.
Connections with same client ID are not disconnected properly from dashboard.
Unable to configure Message Journaling on destinations in offline mode.
Repeater link configurations are not shown properly in JMX APIs'.
Dispatcher API addServerToCluster() accepts invalid arguments while adding members to its cluster.
Dashboard logs are to be made rolling and configurable for increasing log levels.
ConnectionFactory need to be edited for creating an SSL connection to server in C clients.
Memory graphs are throwing exceptions in StandAloneBridge dashboard logs.
Dispatcher is not listing all parameters of member servers in dashboard.
HA boot up wait time needs to be configurable.
Batching is not configurable at runtime in C clients.
CSP message browsing is not working for messages with string properties.
Memory leak is present in C clients logging implementation.
Expired messages are not moved to dead message queue in Route.
Multiple pings to gateway server are required to check whether the local machine is present in the network.
Dashboard doesn't have an option to add preferred server to dispatcher.
Reply topic configurations are not working properly in repeater.
Monitoring data shows double the number of connections in monitor.txt.
Dashboard is not displaying lock information in HA view.
Multiple lookups in multiple threads are throwing exceptions occasionally.
FioranoMQ server doesn't start on system reboot with Linux service scripts.
Compression should not be enabled by default for large messages.
JMSMessageID is not retained on messages passing through route.
C clients are hanging sometimes on server cable pull out.
File appender name of Loggers is not persisted in configurations.
Newly created users are not shown in repeater dashboard.
Import topics in dashboard is not working when Hierarchical topics are present
Dispatcher profile cannot be configured in offline mode through Studio.
Resource Adapter is not working for JBoss 5.
Stream message samples are not present.
onException of exception listener is not called properly in clients.
HA shutdown script is not present to stop both active and passive servers.
This section describes known issues and work around for the 9.2.0 release.
The third party libwww libraries that are used for http support in C/C++ are not compatible in Solaris (x86) as they are compiled on Linux. Since the third party libraries are not compatible, http samples will not run on Solaris (x86).
Work around:
In order to run http samples compile open source libwww on Solaris and replace the built libraries (libhttp.so, libmd5.so, and so on) in fmq\clients\c\native\lib folder.
By default, the MessageID will not be populated in the Message with the Default MQ profile. This is generally not an issue and FMQ has been configured this way by default for performance reasons. However, it is easy to change the configuration.
Work Around 1:
Navigate to %PROFILE_NAME%->Fiorano->etc->FMQConfigLoader in Studio, and set the value of “IncludeMessageID” property as TRUE.
Work Around 2:
Add this following line in your client code before sending the message.
producer.setDisableMessageID(false);
Producer is equivalent to the MessageProducer in the client code. Putting this line will enable MessageID for this particular client.
For Non-Persistent Messages, the InvalidDestinationException will not be thrown while sending the Message for a non-existing destination, but rather FioranoException(extension of JMSException) will be raised at the ExceptionListener. This is generally not an issue and FMQ has been configured this way by default for performance reasons. However, it is easy to change the configuration.
Work Around 1:
For NP messages, batching is by default enabled which leads to the above explained behavior. To get the InvalidDestinationException at the send API, set the BatchingEnabled parameter in the ConnectionFactory as FALSE.
Work Around 2:
Add this following line in your client code environment while performing the lookup,
env.put("BatchingEnabled", "false")
Where env is the environment passed while performing a JNDI lookup. This will disable batching for this particular client.
This section describes the new features introduced in the FioranoMQ 9.1.0 release.
1. Directory Services Implementation
FioranoMQ 9.1.0 ships with a directory service implementation that allows users to share and manage FioranoMQ (FMQ) profiles in a centralized manner. Apart from helping manage the profiles via a central repository, the directory service also greatly simplifies the storing of information pertaining to each server is registered with the profile. The directory service is also used to manage resources other than profiles.
For more information, refer to Chapter 29 - Fiorano Directory Services in the FioranoMQ Handbook
2. HA Implementation Enhancements
FioranoMQ9.1.0 has several enhancements in the implementation of its High Availability servers. The changes ensure that the present solution will achieve better state synchronization between the two HA servers and robustness while handling network outage scenarios. A lock file based solution has been introduced for this very purpose.
1. State change is determined by a ping between the HA servers. In event of ping failure between HA servers, exclusive lock on a file on a third machine is used.
2. Additionally, Gateway Server IP address and port properties needs to be specified for HA profiles. This has been done to detect network failure between the HA server machines and the gateway machine.
Note: Gateway Machine is the machine hosting the LockFile.
3. To give preference to ACTIVE server to remain ACTIVE in case of network failure between HA servers, the following changes have been done:
· ACTIVE server tries to re-acquire lock on the LockFile after each configured interval.
· PASSIVE server will wait for a specified time before trying to acquire the lock on LockFile in case of a network failure between HA servers.
4. The server state of the last standalone server is persisted in the lockfile which implies that if this particular server is restarted without the passive server it would still achieve standalone state.
The lock file based mechanism ensures that, even when the private link between the servers goes down, there is no chance of both the servers becoming active. Under no circumstance will both the servers be active/ standalone at the same time.For more information, refer to FioranoMQ 9 High Availability Guide.
3. Message Journaling Support
Message Journaling is a FioranoMQ9.1.0 feature that allows an application to replicate the messages arriving at a destination to another destination of similar type. Message Journaling essentially means to copy a message from one destination to another destination of similar type. When Journaling is enabled, a console-based application can be written in order to consume messages from either of these two destinations. This functionality can be used to audit all the messages that have ever been received on a particular destination.
For more information, refer to Chapter 16 - Message Journaling in the FioranoMQ Handbook.
4. Destination Level configuration
Parameters at the Subsystem level that are also relevant on a per-destination basis are now configurable at the destination level. For instance, users can now have different values of PurgeLevelIndex for different topics.
For more information, refer to Section 27.1 - Support for Destination Level Configuration in the FioranoMQ Handbook.
5. Queue/Topic depth monitoring
Depth monitoring is used to monitor the number of pending messages that are currently available on a destination. Depth monitoring fires JMX notifications in situations when the depth of a destination crosses a particular threshold in either direction (increasing or decreasing queue sizes) or if destination is idle for a particular amount of time. Depth monitoring in FioranoMQ 9.1 is only implemented for Queues. Future versions may extend this feature to Topics.
For more information, refer to DepthMonitoringEnabled parameter available in Chapter 3 - Queue Subsystem Level Configuration as a part of the FioranoMQ Reference Guide.
6. Samples to integrate with the Spring Framework
JMS samples have now been provided that are compatible with and configurable using the Spring Framework. The Spring Framework in a messaging context can be used to provide configurative registration of message listener objects for transparent message consumption from message queues via JMS, an improvement of message sending over standard JMS APIs.
For more information, refer to Section 27.8 - Integration with Spring framework in the FioranoMQ Handbook.
7. Enhancements in DB recovery tool
The recovery tool now provides much information on what exactly is corrupted, together with the steps that have been taken in recovering the same.
For more information, refer to Chapter 24 – DB Recovery Tool in the FioranoMQ Handbook.
8. Other Enhancements
FMQ Samples without JNDI are now available.
Support for Large Messages in C and C++ runtime is provided.
Improved thread management in FMQ Dashboard.
Support for Dynamic topics in Repeater.
Support for Offline configuration of individual destinations is provided.
The summary of Mbeans and their distinction in the JMX tree is now visible from the dashboard.
The following changes are included in the FioranoMQ 9.1.0 release:
1. Default PingEnabling
FioranoMQ9.1.0 now has default support for pinging. Pinging a connection helps identify if the connection has gone stale or is broken due to network problems. This feature, which was also available in previous releases, is now enabled by default in FioranoMQ9.1.0 for all profiles.
For more information, refer to Section 4.8 – Pinging in the FioranoMQ Handbook
2. Inconsistency in text based configuration resolved
Prior to FioranoMQ9.1.0, there were a few irregularities with the Text based configuration file within each profile. This caused a few difficulties for users who were used to editing profiles using Studio. A few parameters like the URL in the RDBMS manager were not being set even after saving profile via the Studio. The text based configuration is now much more robust while handling a profile saved using Studio.
This section describes issues resolved in 9.1.0 release:
Separate session threads to be named differently.
Unable to reset password without the providing the current password for Administrators.
ListActiveClientConnections of AdminService MBean should include information about ClientIDs.
Non persistent messages must be dropped when sent in batch mode with insufficient credentials.
Server does not start properly with old databases; need to provide DB up gradation tool.
Client to start multiple pinger threads, in case, connections are made to multiple servers (running on different machines).
Text based configuration support needed for StandAloneBridge and StandAloneRepeater profiles.
PTP clients go into blocked state when messages are purged from the queue.
Closing a queue sender with queue name set to ‘null’ is throwing exception on the console.
Sometimes Unified Sessions doesn’t gets closed in Unified domain.
Unable to create route with message selector.
Dynamically added link does not start in repeater.
Replicated HA Primary server should not run with shared HA Secondary server and vice versa.
Bridge does not reconnect properly.
In Repeater/Bridge starting an already started link leads to incorrect behavior.
Running create-database script when Configs.cfg only is changed doesn't result as expected.
WMT: A timer thread started for the graphs does not stop even after you log out from it
Export/Import Topics or Queues functionality works incorrectly in WMT when description is set to null or empty string.
Dashboard is not allowing to delete topics with their names containing '*'
Security Credentials {Username and Passwd} are not getting changed properly when editing the Link Configuration for Bridges.
In ConfigureUsers TAB of Dashboard, the number of action buttons for ChangePassword operation needs to be optimized.
Adding MonitorLink and saving configuration leads to NPE
Policies Tab is not updating ACL properly in the scenario of removing default ACL.
This section describes the new features introduced in the FioranoMQ 9.0.1 release.
1. DataBase upgradation
utility
A script based utility has been added to automate upgrade of older versions
of FioranoMQ databases to FioranoMQ 9. This enables user to use their
old databases with latest FioranoMQ version, thus ensuring that
any data available in the old database is compatible with the latest FioranoMQ
version. The script while accepting minimal inputs provides all relevant
migration changes seamlessly. More detailed instructions on running this
script and the various input parameters required are explained in the
README file at
{FIORANO_HOME}/fmq/bin/Linux_DBMigration/Readme.txt or
{FIORANO_HOME}\fmq\bin\Windows_DBMigration\Readme.txt in the latest version.
This section describes the new features introduced in the FioranoMQ 9.0.0 release.
1. Enhanced Property file based HA profile configuration
All the important parameters like backup HA IP address, port, gateway IP address etc, which are used in HA configuration files are grouped at the start of the HA configuration files. This enables users to edit the configuration files easily to set up replication HA and shared HA profiles.
2. Client Side logging support in C/C++ runtimes
Support has been added for Client Side logging to record information relating to the flow of client applications, error statements and information relating to the memory being freed up as applications execute and close. This helps in getting more debug information in case of production issues. For more information on how to set different log levels, to enable or disable logging, and to set log names please refer to FioranoMQ CRTL Guide and FioranoMQ C++ RTL Native Guide for C and C++ runtimes respectively.
3. Enhanced Client Side Persistence (CSP) in C/C++ runtimes
New APIs have been added in order to browse the CSP messages, such as getting the number of messages in CSP Queue or Topic, retrieving queues, topics on a connection etc. Please refer to the FioranoMQ CRTL Guide and FioranoMQ C++ RTL Native Guide for C and C++ runtimes respectively for a detailed description of each API.
4. Enhanced FioranoMQ web console
The following new tabs have been added for configuration or monitoring:
A dispatcher tab which enables operations such as adding and removing servers to the Dispatcher-enabled MQ Server.
A Sockets view tab to monitor all the open Sockets on the FMQ Server.
A System properties tab which lists all the java system properties that are set in the JVM in which the FMQ Server is running.
An Enhanced Connections tab which lists all the JMX connections made to the FMQ Server.
5. Bug fixes (including bugs reported through the Fiorano Support Portal).
For more details, see Resolved Issues section.
This section describes issues resolved in 9.0.0 release.
Crash in C runtime with multiple disconnects with server while using CSP
In HA after multiple failovers messages are not received consistently
In case of persistent messages, the messages does not get persisted into the message store when the message index in the message store reaches to the maximum integer value that is Integer.MAX_INT.
In the web management tool, the image files created for generating the graphs does not get deleted.
Delay in message delivery in case of onMessage exception
ListTopics is not displaying all topics information properly
Invoking MBean operations such as showLinkTopicConfiguration and showReplyTopicConfiguration in Repeater leads to improper results.
The subscriber throws socket timeout exception when the server takes long time to come back due to power failure.
The log files does not get created in the path specified by the dbPath argument.
Exception while adding file appender to Logger through JMX
In Solaris machine StandAloneRepeater Profile gets corrupted after saving its configuration.
Show Alerts in WMT related to memory status
New Hierarchal Topics samples in C/C++ clients
Web Management tool should show the server’s starting time
Exception on restarting the dispatcher after adding servers to cluster and saving configuration.
This section summarizes the minimum system requirements for FioranoMQ. The actual product documentation includes the same in detail:
|
Platform |
Requirements |
Comments |
|
Windows |
Microsoft® NT Server 2003, XP Professional Java 5 or above Min Physical RAM : 256 MB Min Disk Space : 500 MB |
Fiorano Studio requires Java 5 or above |
| Linux |
Red Hat, Suse, Debian Java 5 or above Min Physical RAM : 256 MB Min Disk Space : 500 MB |
Fiorano Studio requires Java 5 or above |
|
HP-UX |
11i and above Java 5 or above Min Physical RAM : 256 MB Min Disk Space : 500 MB |
Fiorano Studio requires Java 5 or above |
| IBM AIX |
5x and above Java 5 and above Min Physical RAM : 256 MB Min Disk Space : 500 MB |
Fiorano Studio requires Java 5 or above |
| Solaris |
9x and above Java 5 and above Min Physical RAM : 256 MB Min Disk Space : 500 MB |
Fiorano Studio requires Java 5 or above |
The entire FioranoMQ documents are available online. The FioranoMQ documentation includes:
|
Document Name |
Description |
|
FioranoMQ Concepts Guide |
Contains description on concepts and features of FioranoMQ. |
|
FioranoMQ Handbook |
Contains detailed description on how to use FioranoMQ and its features. |
| FioranoMQ Reference Guide |
Contains detailed description and examples for all the parameters used in FioranoMQ server and other components of FioranoMQ. |
|
FioranoMQ Best Practices Guide |
Contains the information about the performance tuning and deployment parameters. |
|
FioranoMQ High Availability Guide |
Contains the salient features of FioranoMQ's HA solution. It explains the working and the underlying architecture of the entire solution. It also provides step by step instructions on enabling HA in FioranoMQ. |
|
FioranoMQ Getting Started
|
Contains the information on startup to assist users of FioranoMQ. This document introduces users to the components of FioranoMQ and briefly explains the working of these components. |
|
FioranoMQ JMX API Guide |
FioranoMQ exposes a lot of JMX API’s which the user can invoke at runtime to change the configuration and behaviour of the MQ server in online mode. This document lists the set of MBeans exposed through JMX, and the attributes and operations within the MBean which the user may want to invoke. |
|
FioranoMQ C-RTL Guide |
This guide provides an introduction to FioranoMQ C RunTime library. Provides a summary of the various functions based on their usage and a detailed description of the APIs included in this library. Details out the steps involved in compiling and running CRTL sample applications. This guide also contains the sample programs illustrating the use of C-RTL for PubSub and PTP operations. |
|
FioranoMQ C++ RTL(Native )Guide |
This guide contains an overview of the C++RTL specific Data types and Constants, Error handling, Dot Net, API References, Sample Programs, and FAQ’s. This guide also describes usage of C++ Runtime for connecting to FioranoMQ server. The various sample programs illustrates the use of simple Publish-Subscribe and Point-To-Point operations |
|
FioranoMQ Native Csharp RTL Sample Application Guide |
This guide contains the sample programs illustrating the use of Native CSharp-RTL for PubSub and PTP operations. |
|
FioranoMQ API Documentation |
This guide describes of all the classes used in C# RTL. |
|
FioranoMQ FAQ’s |
This Online Help contains compilations of information about FioranoMQ, which are usually the result of certain questions constantly being asked. |
Submit and track your support issues at http://support.fiorano.com
This requires a valid login; please contact your sales representative for the Fiorano Support Portal Login.
If you have any questions and/or comments on FioranoMQ, please feel free to contact us at:
Fiorano Software Technologies Pvt. Ltd.
Our Website - http://www.fiorano.com
Evaluation Support – presales@fiorano.com
Check out our Developer Zone at Uwww.fiorano.com/devzone/dev_zone.php
United States:
1-800-663-3621 (Toll-Free within the USA) or +1-650-326-1136 (9 AM to 5 PM Pacific Time)
Asia Pacific:
+91 80 40170000 (9 AM to 5 PM India Standard Time)
Japan:
+81 3 5464 3874 (9 AM to 5 PM Japan Standard Time)
Europe and Middle East:
+44 (0) 1932 895005 (9 AM to 5 PM London Standard Time)
Copyright © 2008-2010, Fiorano Software Pte. Ltd. and affiliates.
All rights reserved.
This software is the confidential and proprietary information of Fiorano Software ("Confidential Information"). You shall not disclose such Confidential Information and shall use it only in accordance with the terms of the license agreement enclosed with this product or entered into with Fiorano.