Page tree

 

Contents:


In the event that an upgrade or hotfix to your instance of the Trifacta® platform has run into issues that cannot be repaired in the upgraded instance, you can follow the steps in this section to rollback to your previous version.

NOTE: Before you perform a rollback, you should review the set of issues with Trifacta first. For more information, please contact Trifacta Support.

Pre-requisites

In order to complete the rollback in a timely manner, please verify that you have access to the following:

Access

You must:

  • Acquire root user access to the Trifacta node.
  • Acquire database access to uninstall and reinstall the Trifacta databases.

Tip: You should communicate to any affected users the required maintenance and expected outage window.

Backups

If you do not have the following, you cannot perform a rollback. These items cannot be acquired from Trifacta.

  • Backups of your pre-upgrade Trifacta configuration files
  • Backups of your pre-upgrade Trifacta databases

The following can be acquired from  Trifacta if you do not have them:

  • RPM installers for the previous version. If any Hotfixes have been applied to the previous version, you should acquire and use the latest Hotfix RPM for your re-install.
  • PDF documentation for the previous version.


Rollback Steps

To recover the Trifacta platform based on backups:

NOTE: When the databases are restored, internal identifiers such as job IDs, are reset in an order that may not correspond to the expected order. Consequently, references to specific identifiers may be corrupted. After restoring the databases, you should clear the job logs.

NOTE: If any of the hosts, pathnames, or credentials have changed since the backups were performed, these updates must be applied through trifacta-conf.json or through the Admin Settings page after the restoration is complete.

Steps:

  1. Login to the Trifacta node as root user.

  2. Stop the Trifacta service:

    service trifacta stop
  3. Clear each current database and restore the backup of the version from the preceding release. In some cases, the database may not exist in the previous version.
    1. PostgreSQL:

      1. Login as a user that can run admin commands for PostgreSQL. This user may vary between deployments.

      2. Trifacta database:

        psql -c "DROP DATABASE trifacta;"
        psql -c "CREATE DATABASE trifacta WITH OWNER trifacta;"
        psql --dbname=trifacta < trif_triDB_bkp_<date>.sql
      3. (Release 3.2 and later) Jobs database:

        NOTE: Please note the escaped quotes in the CREATE DATABASE command for this database.

        psql -c "DROP DATABASE \"trifacta-activiti\";"
        psql -c "CREATE DATABASE \"trifacta-activiti\" WITH OWNER trifactaactivit;"
        psql --dbname="trifacta-activiti" < trif_actDB_bkp_<date>.sql
      4. (Release 4.1 and later) Scheduling database:

        psql -c "DROP DATABASE trifactaschedulingservice;"
        psql -c "CREATE DATABASE trifactaschedulingservice WITH OWNER trifactascheduling;"
        psql --dbname=trifactaschedulingservice < trif_schDB_bkup_<date>.sql
        
      5. (Release 4.1 and later) Time-based Trigger Service database:

        psql -c "DROP DATABASE trifactatimebasedtriggerservice;"
        psql -c "CREATE DATABASE trifactatimebasedtriggerservice WITH OWNER trifactatimebasedtriggerservice;"
        psql --dbname=trifactatimebasedtriggerservice < trif_tbtsDB_bkup_<date>.sql
      6. (Release 6.0 and later) Configuration Service database:

        psql -c "DROP DATABASE trifactaconfigurationservice;"
        psql -c "CREATE DATABASE trifactaconfigurationservice WITH OWNER trifactaconfigurationservice;"
        psql --dbname=trifactaconfigurationservice < trif_confservDB_bkup_<date>.sql
      7. (Release 6.0 and later) Artifact Storage Service database:

        psql -c "DROP DATABASE trifactaartifactstorageservice;"
        psql -c "CREATE DATABASE trifactaartifactstorageservice WITH OWNER trifactaartifactstorageservice;"
        psql --dbname=trifactaartifactstorageservice < trif_artifactstorageservDB_bkup_<date>.sql
      8. (Release 6.4 and later) Job Metadata Service database:

        psql -c "DROP DATABASE trifactajobmetadataservice;"
        psql -c "CREATE DATABASE trifactajobmetadataservice WITH OWNER trifactajobmetadataservice;"
        psql --dbname=trifactajobmetadataservice < trif_jobmetadataservDB_bkup_<date>.sql
      9. (Release 7.1 and later) Authorization Service database:

        psql -c "DROP DATABASE trifactaauthorizationservice;"
        psql -c "CREATE DATABASE trifactaauthorizationservice WITH OWNER trifactaauthorizationservice;"
        psql --dbname=trifactaauthorizationservice < trif_authorizationservDB_bkup_<date>.sql
      10. (Release 7.1 and later) Orchestration Service database:

        psql -c "DROP DATABASE trifactaorchestrationservice;"
        psql -c "CREATE DATABASE trifactaorchestrationservice WITH OWNER trifactaorchestrationservice;"
        psql --dbname=trifactaorchestrationservice < trif_orchestrationservDB_bkup_<date>.sql
    2. MySQL: For details, see https://dev.mysql.com/doc/refman/5.7/en/reloading-sql-format-dumps.html. 
      1. Login:

        su - mysql
      2. Trifacta database:

        mysql trifacta < trif_triDB_bkp_<date>.sql
      3. Jobs database:

        mysql trifacta-activiti < trif_actDB_bkp_<date>.sql
      4. (Release 4.1 and later) Scheduling database:

        mysql trifactaschedulingservice < trif_schDB_bkup_<date>.sql
      5. (Release 4.1 and later) Time-based Trigger Service database:

        mysql trifactatimebasedtriggerservice < trif_tbtsDB_bkup_<date>.sql
      6. (Release 6.0 and later) Configuration Service database:

        mysql trifactaconfigurationservice < trif_confservDB_bkup_<date>.sql
      7. (Release 6.0 and later) Artifact Storage Service database:

        mysql trifactaartifactstorageservice < trif_artifactstorageservDB_bkup_<date>.sql
      8. (Release 6.4 and later) Job Metadata Service database:

        mysql trifactajobmetadataservice < trif_jobmetadataservDB_bkup_<date>.sql
      9. (Release 7.1 and later) Authorization Service database:

        mysql trifactaauthorizationservice < trif_authorizationservDB_bkup_<date>.sql
      10. (Release 7.1 and later) Orchestration Service database:

        mysql trifactaorchestrationservice < trif_orchestrationservDB_bkup_<date>.sql
  4. Uninstall the current version of the Trifacta software:

    NOTE: All platform and cluster configuration files are preserved. User metadata is preserved in the Trifacta database.

    CentOS/RHEL:

    sudo rpm -e trifacta

     Ubuntu:

    sudo apt-get remove trifacta 
  5. Perform a clean install of the Trifacta software provided in your distribution. See Install.
  6. Restore your configuration files. The following commands assume that they were backed up to the /tmp directory on the node:

    cp /tmp/trifacta-conf.json  /opt/trifacta/conf/trifacta-conf.json
    cp /tmp/env.sh /opt/trifacta/conf/env.sh
    cp /tmp/trifacta.service /etc/init.d/trifacta
    
  7. Apply any patches or maintenance updates that may have been provided to you.See Maintenance Release Updater.

  8. Restart the platform.See Start and Stop the Platform.

  9. Login and verify operations.See Verify Operations.

This page has no comments.