How to Upgrade/Migrate EMS 4.x to EMS 5.x

How to Upgrade/Migrate EMS 4.x to EMS 5.x

book

Article ID: KB0092333

calendar_today

Updated On:

Products Versions
TIBCO Enterprise Message Service -
Not Applicable -

Description

Resolution:
Environment:
============  
All

Description:
============  
Steps to upgrade EMS 4.x to 5.x:

1). Disconnect all applications connected to the current EMS server.

2). Stop the EMS server.

3). Make a backup of all config and datastore files.

4). Uninstall the current version of EMS.

Note: This step is not necessary if it is intended to have multiple EMS versions on the same machine - but this is not recommended.

5). Install EMS server 5.x.

6). Update the environment variables accordingly on the EMS server box to reflect the new EMS installation path.

Note: EMS 5.x gets installed in $TIBCO_HOME/ems/5.x, whereas EMS 4.x versions get installed in $TIBCO_HOME/ems. Ensure the environment variables are set for the EMS servers and other applications accordingly.

7). Edit the tibemsd.conf to include the two new configuration files in 5.x:
      channels =  &ltpath_for_the_conf_files>/channels.conf
      stores   = &ltpath_for_the_conf_files>/stores.conf

8). Start the upgraded EMS server against the backed-up copies of config (with modified tibemsd.conf) and datastore files.

9). Restart the applications to connect to the upgraded EMS server.

We strongly suggest customers to always follow the preceeding procedure in a test environment first before deploying into a production environment. It is also recommended to use the same version of the client library as server version where possible.

If using two EMS servers in fault tolerance mode, to achieve zero down-time in upgrading,  check with Tibco Support on the necessary steps.

For more details on these install and uninstall steps, refer to the TIBCO Enterprise Message Service Installation guide.

New/Obsolete features in EMS 5.x (potentially requiring configuration changes):

1). Datastore Changes

EMS 5.x can read the datastore files from EMS 4.4.x . However, there are some new features in 5.x not present in 4.x which require some configuration changes if these new features are being used.

With EMS 5.x there is the option of using multiple stores including files and databases.
With EMS 4.4.x there are 3 store files - meta.db, async-msgs.db and sync-msgs.db.
With EMS 5.x messages can be stored in several files and/or in a database (check the EMS documentation for more information). When upgrading from 4.x to 5.x there are two options:

-Keep the configuration from 4.4.x unchanged. In this case the three store files from EMS 4.4.x will be used with EMS 5.x without any change.

or  

-Use a database and/or several store files with custom names to store the data. In this case the default store files used with 4.x will not be used with the new 5.x configuration unless the store files with the same names (meta.db, async-msgs.db and sync-msgs.db) are configured in the stores.conf file.

2). Failsafe Property

With EMS 5.x the failsafe destination property is obsolete. In EMS 5.0, failsafe is determined by the ‘mode’ of the store file configured for a destination.  If the store is of type ‘sync’ then the destination is failsafe. If it is ‘async’ then that store is not failsafe. See FAQ1-9OLQJ7 for further details.

Options available when upgrading to 5.x and where the 4.4.x destinations have ‘failsafe’ property set for queues/topics:

-Keep the configuration of EMS 4.4.x with the ‘failsafe’ property still defined in the queues.conf and topics.conf. It is then necessary to delete all the information in the stores.conf, and leave this file empty.

or

-Use the new configuration and define how to save the data (async or sync) with stores.conf. In this case delete all the ‘failsafe’ properties in topics.conf/queues.conf and also define for each destination in topics.conf/queues.conf which one of the stores defined in stores.conf file will be used. This means changing ‘failsafe’ (4.x format) to ‘stores=&ltname>’ (where name is defined in stores.conf) as the destination property.

Refer to the documentation on ‘Messages: Store Messages in Multiple Stores’ for further details.

3). Database Storage

Both DB-based storage and multiple stores features of 5.x are optional. If neither of these are required with 5.x, leave the configuration file stores.conf (new for version 5.x) empty and the upgraded EMS server will use the same storage configuration as 4.x without any changes.

4). Storage parameters

If using the multiple store files feature in 5.x, the following parameters need to be checked:

-store_crc, store_minimum and store_truncate

These parameters are not compatible with the use of multiple store files. If you have configured the stores.conf file or enabled database stores, then including the store_crc, store_minimum or store_truncate parameters will cause a mixed mode error. See "Store Messages in Multiple Stores" for more information. These parameters are deprecated in Software Release 5.x. Prepare to migrate to a multiple stores configuration where the same functionality can be achieved through store definitions in the stores.conf file.

5). Rendezvous parameters

-tibrv_xml_import_as_string: This parameter is deprecated in Software Release 5.x. Prepare to migrate to the correct behaviour if you are using it.

Issue/Introduction

How to Upgrade/Migrate EMS 4.x to EMS 5.x