Version management and rolling upgrade options for Teracloud® Streams

Teracloud® Streams supports managed versions and rolling upgrade.

If you are upgrading to Teracloud® Streams Version 7.2.0, see Upgrading to Teracloud Streams Version 7.2 from prior releases.

  • Managed version support enables you to upgrade a domain and its instances independent of each other. When you upgrade a domain, its instances continue to run at their current version. With managed version support, you can upgrade the instances immediately after the domain is upgraded or at a later time. Instances can also be upgraded independent of each other.
  • Rolling upgrade support enables you to upgrade a domain or instance to a new version of Teracloud® Streams while the domain or instance is running.

Streams supports version management and rolling upgrade. In addition to running an instance at different version than its domain, you can perform a rolling upgrade without stopping all running jobs and PEs.

Upgrade options

You can perform a standard or rolling upgrade.
  • Standard upgrade: If a domain or instance is stopped, you can upgrade the domain or instance by simply starting it with the new version.
    • To start a domain with the new version, you can use the streamtool startdomain command.
    • To start an instance with the new version, you can use the Streams Console or the streamtool startinstance command.

    You can use this same procedure to switch back to an earlier installed Teracloud® Streams version.

  • Rolling upgrade: You can perform an upgrade while the domain or instance is running.
    • To upgrade a domain to the new version, you can use the streamtool upgradedomain command.
    • To upgrade an instance to the new version, you can use the Streams Console or the streamtool upgradeinstance command.

Domain and instance version considerations

In some cases, you might want to upgrade a domain without upgrading all of its instances. For example:
  • You might have applications that require an earlier version than the version that is running on the domain.
  • You might want to run the new version on a test instance and run the earlier version on the production instances for a period of time.

If a domain and its instances are running different versions, all versions must be installed in the same root directory. In addition, the domain must run at the same or a later version than all of the instances.

When a domain is upgraded, its instances continue to run at their current version. By default, when you restart an instance after the domain is upgraded, Teracloud® Streams upgrades the instance to the domain version. You can use the instance.startAsVersion and domain.determineInstanceStartAsVersion properties in the following table to override the default behavior.

Property Description
instance.startAsVersion Indicates the Teracloud® Streams version that is used to start the instance. This version must be installed on the resource where the instance is started, and it must be installed in the same installation root directory that is used to start the domain.

For more information about this property, enter streamtool man properties. To update this property, use the streamtool setproperty command.

Notes:
  • If you use the streamtool startinstance command to start an instance, you can use the --version command option to specify the version to run on the instance. This option takes precedence over the instance.startAsVersion property value.

  • If you use the Streams Console to start an instance, the versions available to start the instance are provided in a selection list. The default selection value is the value of the instance.startAsVersion property.
domain.determineInstanceStartAsVersion Indicates whether the instance.startAsVersion property is automatically set when an instance is created or upgraded.
  • If the default value of false is used, the instance.startAsVersion property value is not changed when an instance is created or upgraded.

  • If the value is set to true, the version that is set for the instance.startAsVersion property is the version of the Teracloud® Streams interface that is used to create or upgrade the instance.

For more information about this property, enter streamtool man domainproperties. To update this property, use the streamtool setdomainproperty command.

In a mixed version environment, you must manage the domain by using the Teracloud® Streams version that is running on the domain. For example, if you use the streamtool command-line interface, you must run commands from the installation directory for the domain version and not a different version that is running on an instance in the domain.

Job and PE version considerations

Let's assume for example, you have a Teracloud® Streams domain with instances and jobs running in a 7.2.0.0 Teracloud® Streams release and you install Version 7.2.0.1 on at least one domain resource:
  • You can perform a rolling upgrade on your domain and instances without stopping and restarting all jobs and PEs.
  • All PEs continue to run in a healthy state while the instance is upgrading and after the upgrade is completed.
  • All existing PEs that were running before the upgrade is completed continue to run with their original release version, in this example, Teracloud® Streams Version 7.2.0.0.
  • Any new job that you submit to the upgraded instance runs with the release version of the running instance, in this example, Teracloud® Streams Version 7.2.0.1.
  • You can use the streamtool lsjobs --long command option to track the release version used by each running job or PE. The ProductVersion column in the streamtool lsjobs command result indicates the release version of running jobs and PEs.
Note: Version 7.2.0.1 is only used as an example of a potential future version.