web stats
Skip to end of metadata
Go to start of metadata

This guide is for upgrading your installation of Mirth Connect 2.1 or later. There are a few steps that must be performed before upgrading to backup your database and configuration properties.

Please read this!

Icon

It is important to follow all of the steps below, to ensure that you do not lose any data. Be sure to check out the Channel updates section for version specific changes that aren't automatically performed during the upgrade process.

Message Migration

Icon

If you are upgrading to Mirth Connect 3.x from Mirth Connect 2.x, your existing messages will not be upgraded. This includes any queued messages that have not been sent, as well as any historical message records. After upgrading, Mirth Connect 2.x messages will not be available in the Mirth Connect Administrator, but will remain in the database in the OLD_MESSAGE table. Please see Other instructions for 3.0.0 for information about flushing out queued messages.

Icon

From here on, $MIRTH_HOME refers to the Mirth Connect installation directory.

If you are using a Mirth Appliance...

Congratulations! The upgrade process is done automatically when the appliance is upgraded.

1. Before you upgrade

Before upgrading, we highly recommend that you backup both your Mirth Connect Server Configuration and your Mirth Connect database.

  1. Backup server configuration: Before proceeding, it's important that you backup your existing server configuration. This can be done through the Mirth Connect Administrator under Settings. The server configuration includes channels, code templates, alerts, and global scripts. User accounts and stored messages will not be backed up.
  2. Backup database: If you are using the embedded Derby database, create a backup of the $MIRTH_HOME/mirthdb. If you are using an external database (ex. PostgreSQL, MySQL), create a backup of your database using your preferred database administration tool (ex. pgAdmin, MySQL Administrator).

Changes to some custom configuration files may need to be manually copied over after the upgrade. If you've made changes to any of the following files, copy them to a location outside of your existing $MIRTH_HOME directory before running the new Mirth Connect installer. Once Mirth Connect is upgraded, you will need to update the newly installed files with your custom changes.

  1. Custom database drivers: If you have added custom database drivers they will be preserved in custom-lib during the upgrade. However, you will need to back up your additions to $MIRTH_HOME/conf/dbdrivers.xml
  2. Java JVM parameters: If you have added any Java JVM parameters or changed any of the default heap size settings, create a backup of any $MIRTH_HOME/*.vmoptions files
  3. Logger settings: If you have made any changes to your logger settings, create a backup of $MIRTH_HOME/conf/log4j.properties
  4. CLI configuration: If you have made any changes to the CLI configuration file, create a backup of $MIRTH_HOME/conf/mirth-cli-config.properties
Icon

Custom extensions may not work after the upgrade and you may see errors in the log. You will need to install an updated extension that is compatible with the new version of Mirth Connect.

2. Upgrading

  1. Make sure that you have exited and stopped the Mirth Connect Administrator, Server Manager, and Server/Service before proceeding.
  2. Run and complete the new Mirth Connect installer, choosing the update option using the same installation directory.

3. After the upgrade

  1. Custom database drivers: Restore your changes to $MIRTH_HOME/conf/dbdrivers.xml
  2. Java JVM parameters: Restore the changes in your backed up *.vmoptions files to the corresponding *.vmoptions files $MIRTH_HOME.
  3. Logger settings: Set any properties you changed in your backed up $MIRTH_HOME/conf/log4j.properties manually.
  4. CLI configuration: Restore the changes in your backed up $MIRTH_HOME/conf/mirth-cli-config.properties file.
  5. Start/Restart the server
  6. Custom extensions: Install new versions of any custom extensions

 

Channel updates

These are version specific changes to channels that are not done automatically during the upgrade process. Only channels with certain connectors or deprecated code references are affected by these updates. Versions that may require specific changes are listed below. For example, if you are upgrading from 2.1.0 to 2.2.0, you should look at any notes below for both 2.1.1 or 2.2.0.

2.2.0

The 'Email Sender' has been renamed to the 'SMTP Sender' and it no longer has the option to 'Use Server Settings' for the SMTP server configuration. If your channel has this configuration, your destination and/or channel will be disabled. You will need to manually enter your SMTP server settings and enable your destination/channel again after upgrading.

3.0.0

The API in Mirth Connect 3.0 has changed dramatically. All old JavaScript references and variables from the Reference List should still work properly, but they may log messages stating the code you are using has been deprecated, and recommend code changes that you should complete. Any deprecated methods may be removed in an upcoming version.

Calls to any unsupported internal Mirth Connect code may have changed and may no longer work. This includes any JavaScript that has to import or reference anything in the com.mirth.connect.* package. If you are using any unsupported internal Mirth Connect classes to perform actions like starting and stopping channels, please take a look at Mirth Connect 3.0's new ChannelUtil API.

3.0.2

The Database Reader no longer prepends table name to the column name or alias regardless of how many tables are used in the query. Each element name in the generated XML will be the alias if one exists, otherwise it will be the column name. Users connecting to Postgres or Oracle databases with the Database Reader connector should not be required to make any changes. Users connecting to other databases should update their channels accordingly if needed. It is recommended to always use a unique alias.

Icon

Code templates in 3.0.0 and 3.0.1 were not being restricted from certain JavaScript scopes based on their context. Users upgrading from these versions to 3.0.2+ should check their code templates to ensure their contexts are correctly set. See MIRTH-3150 for more information.

 

Other instructions

These are version specific instructions that are not done automatically during the upgrade process. Versions that may require special instructions are listed below. For example, if you are upgrading from 2.1.0 to 2.2.0, you should look at any notes below for both 2.1.1 or 2.2.0.

3.0.0

Any messages that were queued at the time of upgrade from 2.x will not be processed. If you would like to ensure these messages are processed, we recommend flushing out all queued messages before upgrading:

For non-polling channels:

  • Pause the channel
  • Wait for all queued messages to finish processing

For polling channels:

  1. Edit the channel, export the source connector (to have a backup)
  2. Change the source connector type to Channel Reader
  3. Redeploy the channel
  4. Wait for all queued messages to finish processing
  5. Edit the channel again, restore the exported source connector, but do not redeploy

Do the above for all channels until there are no more queued messages. If any queued messages cannot be processed because the external system is down, you can search for the queued messages and export them as XML or Plain Text for manual processing later.

To simply remove all queued messages you can remove them from the Message Browser, which should also remove them from the file system, or simply delete the queuestore folder (or individual channel folders inside of queuestore) in your appdata directory.

3.1.0

A new index has been added to the message metadata table for each channel to improve queue performance . Channels created in 3.1.0 will automatically create this index, but existing channels will need to have the index created manually:

  1. Stop all channels that require the index
  2. Navigate to Settings > Database Tasks
  3. Select the "Add Metadata Index" task
  4. Click Run Task

If you do not see the "Add Metadata Index" task, then the index already exists for all of your channels and there is no action needed. If the task fails to add the index for all of your channels, ensure that the remaining affected channels are stopped or undeployed and run the task again.

Ensure you have enough disk space before adding the new index. The index will require roughly 45 megabytes of disk space per connector for every million messages currently stored in the database. It may take some time depending on how many messages are currently stored, so it is recommended to schedule some downtime for adding the index.

3.1.1

Due to the recent POODLE vulnerability, we have disabled SSLv3 for all of our relevant connectors and connections that use SSL. In case you are connecting to some legacy systems that require SSLv3, it is possible to re-enable SSLv3. In your mirth.properties file, you will find the following two properties:

  • https.client.protocols = TLSv1.2,TLSv1.1,TLSv1
  • https.server.protocols = TLSv1.2,TLSv1.1,TLSv1,SSLv2Hello

If you need to use SSLv3, simply add "SSLv3" into the comma separated list for the client or server protocols and restart your server. These two properties also allow you to configure exactly which SSL protocols you wish to use. Similarly, if you need to add or remove cipher suites, you can update the https.ciphersuites property in the mirth.properties file.

Please note that if you are making https connections programmatically in JavaScript, you will still need to update your code accordingly in order to disable SSLv3.

 

  • No labels