Chapter 9. Upgrading Server to Newer Version

General Notes on Upgrade

  • An upgrade of CloverETL Server requires down time; plan a maintenance window.

  • A successful upgrade requires about 30 minutes; rollback requires 30 minutes.

  • Perform the steps below in a development/testing environment first before moving onto a production environment.

Upgrade Prerequisites

  • Having a new CloverETL Server web application archive (clover.war appropriate for the application server used) & license files available.

  • Having release notes for the particular CloverETL version available (and all versions between current and intended version to be upgraded to).

  • Having the graphs and jobs updated and tested with regards to Known Issues & Compatibility for the particular CloverETL version.

  • Having the CloverETL Server configuration properties file externalized from default location, see Chapter 11, Configuration Sources.

  • Standalone database schema where CloverETL Server stores configuration, see Chapter 13, System Database Configuration.

  • Having a separate sandbox with a test graph that can be run at any time to verify that CloverETL Server runs correctly and allows for running jobs.

Upgrade Instructions

  1. Suspend all sandboxes, wait for running graphs to finish processing.

  2. Shutdown the CloverETL Server application (or all servers, if they run in a cluster mode).

  3. Backup the existing CloverETL database schema (if any changes to the database schema are necessary, the new server will automatically make them when you start it for the first time).

  4. Backup the existing CloverETL web application archive (clover.war) & license files (on all nodes).

  5. Backup the existing CloverETL sandboxes (on all nodes).

  6. Re-deploy the CloverETL Server web application. Instructions how to do that are application server dependent - see Production Server for installation details on all supported application servers. After the re-deployment, your new server will be configured based on the previous version's configuration.

  7. Replace old license files by the valid one (or you can later use the web GUI form to upload new license). The license file is shipped as a text containing a unique set of characters. If you:

    • received the new license as a file (*.dat), then simply use it as new license file.

    • have been sent the license text, e.g. inside an email, then copy the license contents (i.e. all text between Company and END LICENSE) into a new file called clover-license.dat. Next, overwrite the old license file with the new one or upload it in the web GUI.

    For details on license installation, see Activation.

  8. Start the CloverETL Server application (on all nodes).

  9. Review that contents of all tabs in the CloverETL Server Console, especially scheduling and event listeners looks OK.

  10. Update graphs to be compatible with the particular version of CloverETL Server (this should be prepared and tested in advance).

  11. Resume the test sandbox and run a test graph to verify functionality.

  12. Resume all sandboxes.

Upgrade from 4.8.x or earlier to 4.9.x or later

[Important]Significant architectural change in version 4.9.0

By default since 4.9.0, jobs (graphs, jobflow, data services) are executed in a standalone JVM called Worker.

To run jobs in the Server Core (i.e. in the same way as in earlier versions of CloverETL Server), you can disable execution in Worker for particular jobs or sandboxes or disable Worker completely.

Note that Launch Services and Profiler are only available in the Server Core. These features require no additional configuration.

Configuration Changes

Worker is the executor of jobs, all jobs run in the Worker by default. It runs in a separate process (JVM), so it requires configuration in addition to the Server Core.

The Worker's configuration relates to memory size, classpath, command line options and JNDI. For an overview of Worker related configuration, see Introduction to Worker configuration. The introuction provides an overview of the new Worker specific configuration with links to details.

.
Changes to Jobs

If your jobs (ETL graphs, joblows, etc.) use JNDI for database or JMS connections, you need to configure JNDI on Worker (see JNDI in Worker). You might also need to update your jobs to use the new JNDI resources configured in Worker - they might be available on new JNDI paths. If you do not need these JNDI resources on the Server Core anymore, consider removing them from the Server Core.

Rollback Instructions

  1. Shutdown the CloverETL Server application.

  2. Restore the CloverETL Server web application (clover.war) & license files (on all nodes).

  3. Restore the CloverETL Server database schema.

  4. Restore the CloverETL sandboxes (on all nodes).

  5. Start the CloverETL Server application (on all nodes).

  6. Resume the test sandbox and run a test graph to verify functionality.

  7. Resume all sandboxes.

[Important]Important

Evaluation Version - a mere upgrade of your license is not sufficient. When moving from an evaluation to production server, you should not use the default configuration and database. Instead, take some time to configure CloverETL Server so that it best fits your production environment.