In the event that an upgrade or hotfix to your instance of the  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 first. For more information, please contact .

Pre-requisites

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

Access

You must:

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 .

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


Rollback Steps

To recover the  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 or through the Admin Settings page after the restoration is complete.

Steps:

  1. Login to the  as root user.

  2. Stop the :

    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. :

        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:


        NOTE: This database is unused in this product. It may be used in the future for managing feature-specific data.



        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


    2. MySQL: For details, see https://dev.mysql.com/doc/refman/5.7/en/reloading-sql-format-dumps.html. 
      1. Login:

        su - mysql


      2. :

        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:


        NOTE: This database is unused in this product. It may be used in the future for managing feature-specific data.



        mysql trifactaartifactstorageservice < trif_artifactstorageservDB_bkup_<date>.sql


      8. (Release 6.4 and later) Job Metadata Service database:

        mysql trifactajobmetadataservice < trif_jobmetadataservDB_bkup_<date>.sql


  4. Uninstall the current version of the :
  5. Perform a clean install of the  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.