Upgrading from 4.0.x to 4.1.y

The following instructions explain how to upgrade an instance of OpenEMPI from a 4.0.x release to either the 4.1.0 release or a more recent minor release 4.1.y

1. Shutdown your Tomcat server instance. Make sure the server has shutdown before moving on to the next step.

 /sysnet/openempi/openempi-4.0.x/bin/shutdown.sh

2. Backup your Postgres and OrientDB databases. You can find instructions on how to do that here.

3. Install the 4.1.y instance in its new OPENEMPI_HOME directory. Follow the installation instructions for installing a new instance of OpenEMPI from a distribution that can be found here. The recommended approach is to install new releases under the same parent directory so that openempi-4.0.x and openempi-4.1.y are in the same directory. On our installations, we follow the convention of installing new releases in the /sysnet/openempi directory so that the 4.0.x release would be installed in the /sysnet/openempi/openempi-4.0.x directory and the 4.1.y release would be installed in the /sysnet/openempi/openempi-4.1.y directory.

For the purpose of these instructions, we assume that OPENEMPI_OLD_HOME points to the installation directory of the 4.0.x release

4. First, compare the contents of the following configuration files between the 4.0.x and 4.1.y directories and if they include changes that you have made, then merge those changes into the new version of the file. If you have questions about specific differences between the two versions and are unsure how to proceed, don't hesitate to reach out to us through the customer support portal. We can perform the merge between the configuration files for you. For example, the openempi-extension-contexts.properties may have been changed to activate or deactivate specific modules in your instance of OpenEMPI and jdbc.properties may have changed to reflect a change in the database password for the relational or graph databases.

bin/setenv.sh openempi-entity-4.0.x/conf/openempi-extension-contexts.properties openempi-entity-4.0.x/conf/log4j.properties (not likely to have local changes for your environment) openempi-entity-4.0.x/conf/jdbc.properties (more likely to have local changes for your environment) openempi-entity-4.0.x/conf/applicationContext-resources.xml (more likely to have local changes for your environment) openempi-entity-4.0.x/conf/applicationContext-services.xml (not likely to have local changes for your environment)

5. Copy the following configuration files from the 4.0.x to the 4.1.y directory.

NOTES:

  • Keep in mind that you may have to modify the mpi-config.xml file to reflect the change in directories for a few of the configuration parameters.

  • We use the convention of naming file loader mapping files file-loader-map-{VARIABLE].xml where VARIABLE is a unique name that identifies the specific mapping file. You only need to copy mapping files that are unique to your installation.

  • The convention for naming the internal model parameters for the probabilistic matching algorithm is to use the entity name (by default person) followed by FellegiSunterConfiguration.ser. If you are hosting multiple entities on your instance, you will need to copy the configuration files for the other entities beyond the person entities shown explicitly below.

openempi-entity-4.1.y/conf/mpi-config.xml openempi-entity-4.1.y/conf/file-loader-map-*.xml openempi-entity-4.1.y/conf/person_FellegiSunterConfiguration.ser

6. Run any database upgrade scripts that are specific to the new version you are upgrading to. Not every release includes a database upgrade script but if there is one, it would be in the conf directory under OPENEMPI_HOME. Upgrading to the 4.1.0 release from 4.0.x requires that you run the script update_database_schema-4.1.0.sql.

7. Starting with the 4.1.0 release of OpenEMPI, the configuration information for the instance are stored in the embedded graph database instead of the mpi-config.xml file. You can read more about this change here. When you first start your 4.1.0 instance, it will load the current configuration from the mpi-config.xml file and use this information to populate the configuration database instance (openempiConfig-db). Because of this change, you must tell OpenEMPI where to find the data directory upon startup. You must modify the setenv.sh file in /sysnet/openempi/openempi-4.1.y/bin to set the location of the data directory for your site. The value for this parameter is in the mpi-config.xml file from your 4.0.x instance in the parameter data-directory.

Here is the setenv.sh file before the modification of the data-directory parameter below.

Here is the setenv.sh file after the modification of the data-directory parameter. Keep in mind that the value for the data-directory parameter for your site might be different from the one used below. The value should be set to the data-directory parameter from your mpi-config.xml file.

8. Create a file called license.txt in the ${OPENEMPI_HOME}/conf directory that contains the product key your received from the OpenEMPI support team. This will be required in order to start the server.

9. Start your instance of OpenEMPI using the startup script from the new release directory. If you are using a service startup script to automatically start your instance of OpenEMPI, make sure you update the script to reflect its new directory location (this is usually installed in /etc/systemd/system/openempi.service).

You can check on the startup progress of the application by looking at the openempi.log file using the following command. Note that the path may vary for your site and specific version you are using.