PhixFlow Help

Upgrading PhixFlow

This page is for system administrators who are upgrading an existing PhixFlow instance from one release to another. This page explains the standard steps that you should always follow.

Some releases contain special instructions.

When planning an upgrade, please check the special instructions for each intermediate release and follow the additional steps as indicated.

Planning your Upgrade

Check Supported Versions and Special Instructions

Please read the System Requirements and Compatibility page. Check for any special upgrade instructions between your current and target versions of PhixFlow.

Ensure that your versions of:

  • the database
  • Tomcat
  • Java

are supported in the planned upgrade.

If any of these items need updating, please contact your IT team several weeks in advance of the planned upgrade.

Sections on this page

Check Java and Database Connectors

If Java needs upgrading, you must verify that any JDBC connectors you have installed to non-standard databases are still supported. The standard databases supported by PhixFlow are Oracle, MS SQL Server and MySQL/ MariaDB. The drivers needed to connect to these databases are shipped with PhixFlow, and connections to external databases through PhixFlow data sources are supported by these drivers; see Datasource.

However, if you have connections to external databases other than these - for example, Netezza, Teradata, DB2 - then you will have installed JDBC drivers for these in the folder [tomcat home]/lib. You must check that your current version of each installed driver is compatible with the new version of Java, and if not, obtain a new version of the JDBC driver from the supplier.

How to Upgrade

Step 1  Backup your Database

Ensure that you have a recent, full backup of your database. If you need to rollback (see "Rollback Upgrade" below), your PhixFlow configuration and data will revert to this point.

Step 2  Stop Tomcat and Delete the Work Directory

  1. Stop the Tomcat service.

    PhixFlow will not be available to users until the upgrade is complete and you restart Tomcat.

  2. Delete the Tomcat <tomcat base>/work directory. For example in a Linux installation, enter:

    rm -r /opt/tomcat/work

Step 3  Upgrade the Environment

If necessary, upgrade to supported versions of Java, Tomcat and your database: Oracle, SQL Server or MySQL / MariaDB. See Planning your Upgrade, above.

Remember, if you are upgrading Tomcat, to restore any JDBC drivers needed for any data sources that use database technologies or versions not supported for PhixFlow's own connections. Make sure that any additional JDBC drivers you use are placed in:

[tomcat home]/lib

See also:

Step 4  Unzip the PhixFlow Release

Unzip the PhixFlow release package into a temporary directory.

We will refer to the new PhixFlow release directory as $RELEASE and its corresponding Tomcat directory as $TOMCAT.

Step 5  Install the New Webapp into Tomcat

Move the live PhixFlow installation directory, $TOMCAT/webapps/phixflow, to an archive location.

For example on Linux: mv $TOMCAT/webapps/phixflow $ARCHIVE/phixflow-<current date>

Copy $RELEASE/webapp/phixflow to $TOMCAT/webapps.

For example on Linux: cp $RELEASE/webapp/phixflow $TOMCAT/webapps/phixflow

In the archive of the live installation, go to the  $TOMCAT/webapps/phixflow/WEB-INF/classes/ directory. Copy the following files into the corresponding directory in the new PhixFlow webapp: 

  • phixflow-login.xml 
  • phixflow-datasource.xml
  • phixflow-secret.xml
  • phixflow-instance.xml 
  • logback.xml
  • phixflow-logging.xml 

For example on Linux:cp $CV_ARCHIVE/phixflow-<current date>/WEB-INF/classes, to $TOMCAT/webapps/phixflow/WEB-INF/classes

If you have configured PhixFlow to show your company logo, also copy $TOMCAT/webapps/phixflow/gui/images/customerLogo.svg. from the archive to the corresponding directory in the new PhixFlow webapp.

Step 6  Configure a Keystore

If you have not already done so, Configure a Keystore for Database Credentials. Use phixflow-secret.xml to specify the keystore details.

Step 7  Upgrade the Database

Run all migration scripts in sequence from the starting version to this version.

About Migration Warnings

Some of the scripts can generate warning messages, such as Caution: Changing any part of an object name could break scripts and stored procedures. Generally, warning messages do not indicate a problem. However, if you see any error messages, please contact your PhixFlow support team.

Example for migrating Oracle

cd $RELEASE/install/schema/oracle/migration/X.Y
sqlplus myUsername/myPassword @migrate_schema_from_x_y_z_to_X_Y_Z.sql

Example for migrating SQL Server

cd $RELEASE/install/schema/sqlserver/migration/X.Y
sqlcmd -S myServer\myInstance -U myUsername -P myPassword -d myDatabase -i migrate_schema_from_x_y_z_to_X_Y_Z.sql

Example for migrating MariaDB (MySQL)

E.g. for MariaDB users
cd $RELEASE/install/schema/sqlserver/migration/X.Y
mysql -h myServer -u myUsername -p -D myDatabase
source migrate_schema_from_x_y_z_to_X_Y_Z.sql


MariaDB Privileges

Some MariaDB PhixFlow migration scripts create or use privileged functions and/or procedures, and must have privileges not required by the regular PhixFlow user.

You can permanently allow functions like this to run by updating a setting in your my.cnf file. See Running non-deterministic functions in MariaDB for details. If you do not make this change, then you must make sure that either:

  • Your session has the log_bin_trust_function_creators setting switched on. You can do this with the command:
set global log_bin_trust_function_creators = 1;
  • Or that the migration user has SUPER privilege.

Step 8  Complete any Special Upgrade Instructions

Complete the Special Upgrade Instructions for all the intermediate releases between your current version and the version to which you are upgrading.

Step 9  Re-start Tomcat

Restart the Tomcat service.

Step 10  Republish PhixFlow Stream Data

After upgrading, PhixFlow may need to republish data to its database. If you have very large streams this can cause slow initial performance. To ensure users are not affected, we recommend that you publish stream data immediately after upgrading.

  1. Log on to PhixFlow.
  2. Select  Administration → Other Options → Publish Streams.
  3. Wait for the pop-up notification that publishing is complete.

If you do not republish altered stream tables, PhixFlow will automatically start publishing data when the first user attempts to use a stream. This may cause slow performance until publishing is complete.

Your PhixFlow upgrade is now complete and users can access the new version of PhixFlow.

For details about configuring PhixFlow once it is installed, see Administration.

Please let us know if we could improve this page feedback@phixflow.com