Skip to main content
Version: v2.6

Engine Subscription

The Source and Target Engines that do the transformation work in the migration pipeline are published and deployed based on the mapping done in Studio.

This is described in: Publishing Maps and Deploying Engines.

Engine Subscription controls how Tracks adopt new versions of Source and Target Engines, allowing you to manage change independently across your migration pipelines.

In practice, this means that different Tracks can run different revisions of the same engine at the same time. Some moving forward automatically, others remaining on a known, stable revision until you decide otherwise.

Managing Engines and Revisions

The Portal Configuration → Operations → Execution → Engines is where you manage the engines known by the Runtime.

Manage Engine

In the screenshot above, the WorkshopDemo TargetEngine is selected in the list to the left. The list to the right shows the stack of Revisions for this engine.

Every time an engine is deployed, the Runtime receives a new revision and adds it to the top of the stack of revisions for that engine.

You can read more about how to add a new engine to the list on the left here: Portal Operations

Engine Revisions

Let's say we have an engine; it can be a Source Engine or a Target Engine. Let's call it Engine X. The Runtime already has 5 revisions stacked for Engine X.

We also have three different tracks that use Engine X: Track A, Track B, and Track C.

The diagram below shows what could happen when a new revision 6 is deployed for Engine X:

Engine Revisions Diagram

The diagram shows that Track A and Track B immediately load the new revision 6, while Track C ignores it and keeps using revision 3.

This is possible because the Runtime allows you to control when a track actually loads a new revision of an engine.

This is done in 2 different ways:

Auto-subscription
If a track is auto-subscribing to an engine, it will automatically load each new revision the moment it is deployed
Manual subscription
If the track is not auto-subscribed, you decide - after the engine is deployed - whether the track should load this revision or not

Some typical use cases for manual subscription include

  • a track must remain on a stable, tested engine revision while newer revisions are validated in other tracks.
  • a development team has divided work on different areas of the mapping into parallel work streams on dedicated tracks. Each work stream is manually managing when their track loads the engine without disrupting the tracks un use by other work streams

Engine Usage for a Track

In the Operations menu for a given track, the Engines panel shows how that track reacts when new engine revisions are deployed and which revision is currently in use.

Operations Engines Menu

This is specified separately for the Source Engine and the Target Engine used by the track.

Track Engine Usage

In the screenshot above, the track is auto-subscribed to new revisions of the Source Engine and is currently running the newest revision of the Source Engine.

It is not auto-subscribed to the Target Engine, and it is currently running an older revision of the Target Engine.

Auto-subscribe is switched on and off by checking or unchecking the checkbox Auto-subscribe to newest revision.

Auto-subscribe

Any revision can be set active, downloaded, or given a label for identification from its context menu.

Revision Context Menu

When a revision is set active, it is loaded by the track immediately.

Deployment

When an engine is deployed from Studio or Visual Studio, the Load checkbox for each track using the engine determines which tracks will load the new revision.

Deployment

  • If the Load checkbox is disabled and labeled (subscribed), the track is auto-subscribing to new revisions of this engine, and it will load the new revision immediately upon deployment.
  • If not, checking the Load checkbox will make the track load the new revision.
  • If the Load checkbox is not checked, the track will ignore the new revision.