Skip to content

Updating to version 1.60 and above

This page covers the technical details of how to upgrade and revert between the Matillion ETL non-universal and universal packages along with an overview of the reasoning behind the project.


Background: consolidation of .rpm packages

Prior to v1.60, Matillion ETL was published as three yum packages:

  • matillion-emerald
  • matillion-emerald-byol
  • matillion-emerald-cdata

Each installation of Matillion ETL would then have one combination of:

matillion-emerald AND matillion-emerald-cdata

Or:

matillion-emerald-byol AND matillion-emerald-cdata

Both of the matillion-emerald and matillion-emerald-byol packages then had both cloud platform and cloud data warehouse specific builds. For example:

emerald-1.46.10-centos7-aws-snowflake-platform.rpm   (matillion-emerald package)
emerald-1.59.9-centos7-azure-snowflake-platform.rpm  (matillion-emerald package)
emerald-1.51.9-centos7-aws-redshift-byol.rpm (matillion-emerald-byol package)

However, matillion-emerald-cdata was always published as a single universal build. For example:

emerald-cdata-1.50.12.rpm (matillion-emerald-cdata package)
emerald-cdata-1.56.10.rpm (matillion-emerald-cdata package)

As will be obvious, this large amount of builds/variation resulted in quite a complex installation and complicated the tasks of building, validating, distributing, and providing support.


What's new: matillion-universal package

Therefore, as part of the v1.60 build, there have been two important changes:

  1. The matillion-emerald and matillion-emerald-byol packages have been consolidated to form the matillion-universal package.
  2. There are no longer cloud platform and cloud data warehouse specific builds for the matillion-universal package. Instead, there is one universally compatible build per Matillion ETL version.

For example:

emerald-metl-1.60.2-<unique id>.rpm   (matillion-universal package)
emerald-metl-1.60.2-<unique id>.rpm   (matillion-universal package)

From v1.60 onwards, each Matillion ETL installation will require:

matillion-universal *AND* matillion-emerald-cdata

Finding the matillion-universal packages

Two new yum repositories have been created, which can be found at the following URLs:

  1. matillion-universal ——— https://artifacts.matillion.com/rpm/matillion-metl/stable/
  2. matillion-emerald-cdata ——— https://artifacts.matillion.com/rpm/matillion-cdata/stable/

An example yum repo config for each is shown below:

Usually found at /etc/yum.repos.d/matillion-cdata.repo:

[matillion-cdata]
name=matillion-cdata
baseurl=https://artifacts.matillion.com/rpm/matillion-cdata/stable/
gpgkey=https://artifacts.matillion.com/rpm/matillion-cdata/stable/matillion.key
gpgcheck=1
enabled=1

Usually found at /etc/yum.repos.d/matillion-universal.repo:

[matillion-universal]
name=matillion-universal
baseurl=https://artifacts.matillion.com/rpm/matillion-metl/stable/
gpgkey=https://artifacts.matillion.com/rpm/matillion-metl/stable/matillion.key
gpgcheck=1
enabled=1

Note

If the machine is running in an egress-restricted environment, ensure artifacts.matillion.com is allowed within the domain/network.


Upgrading to the universal packages

Users have two available methods to upgrade to the universal packages (Matillion ETL v1.60 and beyond).

Note

Before performing any of these upgrades, ensure relevant backups of root disks and managed databases are taken in case of the need to roll back. Read our documentation for more information on how to do this: In-place updates.

Method 1: Updating/Upgrading via migration

To upgrade via migration, launch a machine image of version 1.60 or higher and follow the steps here: Migration.

Method 2: Updating/Upgrading in-place (non-clustered environments)

Updating via the GUI is possible for non-clustered environments. This will transfer the existing installation from matillion-emerald or matillion-emerald-byol onto the matillion-universal package.

To do this, follow the steps here: In-place updates.

Note

It is only possible to upgrade between the final version of the old packages (1.59.12) to the universal packages (>1.60.2).

In practice, if the installation is on a version below 1.59.12, the machine must be updated to 1.59.12 first, then the universal packages will be available (i.e. two upgrade hops).

Both these upgrades will be possible to do in the UI in series.

In the UI, the upgrade between 1.59.12 and >1.60 will only note the matillion-emerald-cdata package being available on the destination version. This is expected, and is due to the nature of the yum transaction.

Updating/Upgrading in-place (clustered environments)

Updating via the console is possible for clustered environments. This will transfer the existing installation from matillion-emerald or matillion-emerald-byol onto the matillion-universal package in place.

  1. Ensure Tomcat is not running on all nodes before proceeding. To do this, SSH onto all nodes and as root run:

    service tomcat stop
    
  2. To identify whether matillion-emerald or matillion-emerald-byol are installed, the following can be run:

    yum list installed | grep matillion-emerald
    
  3. This will return either:

    matillion-emerald-byol-<some version>
    

    Or:

    matillion-emerald-<some version>
    
  4. To "swap" to the universal packages, the following command can be run:

    yum swap <package from above> matillion-universal
    
  5. For example, if swapping matillion-emerald-byol:

    yum swap matillion-emerald-byol matillion-universal
    
  6. When you receive the prompt

    Total download size: 808 M 
    Is this ok [y/d/N]: y
    

    Input y and await completion.

  7. Finally, restart the service once both nodes have been upgraded:

    service tomcat start
    

Once the upgrade is confirmed to be successful, to prevent the old packages being installed alongside matillion-universal, run the command:

mv /etc/yum.repos.d/matillion.repo /etc/yum.repos.d/matillion.repo.bkp

This will de-index the repository file mirror for the old packages.


Ongoing updates on matillion-universal

Updates on 1.60 and beyond are then consumed by running the following command:

yum update matillion-universal

Not by running yum update matillion-*


Revert to a virtual machine backup

Rolling back via the console is possible for all environments. This will transfer the existing installation from matillion-universal back onto either the matillion-emerald or matillion-emerald-byol.

  1. First, ensure Tomcat is not running on all nodes before proceeding. To do this, SSH onto all nodes and as root run:

    service tomcat stop
    
  2. If previously the matillion.repo repository file was de-indexed, re-index by running:

    mv /etc/yum.repos.d/matillion.repo.bkp /etc/yum.repos.d/matillion.repo
    

    This will re-index the repository file mirror for the old packages.

  3. Now, to identify whether matillion-emerald or matillion-emerald-byol are installed, the following can be run:

    yum list available | grep matillion-emerald
    

    This will return either:

    matillion-emerald-byol-<some version>
    

    Or:

    matillion-emerald-<some version>
    
  4. To "swap" back off the universal packages, the following command can be run:

    yum swap matillion-universal <package from above>
    
  5. For example, if swapping for matillion-emerald-byol:

    yum swap matillion-universal matillion-emerald-byol
    
  6. When you receive the prompt

Total download size: 351 M Is this ok [y/d/N]: y

Input `y` and await completion.
  1. In the above transaction, the matillion-emerald-cdata package was not pushed down, so that needs to be downgraded to match the version of either the matillion-emerald or matillion-emerald-byol package. Therefore, run the command:

    yum downgrade matillion-emerald-cdata-1.59.12
    
  2. When you receive the prompt

        Total download size: 458 M
        Is this ok [y/d/N]: y
    

    Input y and await completion.

  3. Finally, restart the service once both nodes have been downgraded:

    service tomcat start
    

Upgrading to a specific release

To list available versions:

yum list matillion-universal --showduplicates

To upgrade to a specific version (don't include < and >):

yum update matillion-universal-<your-chosen-version>