Skip to content

Migrating Algorithms

Overview

As Delphix continues to make continuous improvement to the algorithms included with the Masking Engine, some algorithm frameworks will have multiple versions available simultaneously. New API paths have been added to allow migration of existing algorithm instances from old frameworks to new ones. The migration mechanism creates a new algorithm with the same configuration as the existing algorithm, allowing the behavior and performance of the migrated algorithm to be evaluated before adoption of the new algorithm for production use.

In this release, the following algorithm migrations are available:

  • FROM: algorithmType=MAPPING TO: algorithmType=COMPONENT, pluginName=dlpx-core, frameworkName=Mapping

The algorithm usage APIs can be used to conveniently transition usage from the old to the new algorithm instance created by the migration mechanism.

Listing Available Migrations

The following API endpoint returns a list of result objects describing each possible migration. One object is returned for every algorithm on the engine that can be migrated:

algorithm   GET algorithm/migration

Each object in the response contains the name of the algorithm that can be migrated, as well as the frameworkId of the framework that the migrated algorithm would use.

Migrating Algorithms to New Frameworks

The following API endpoint creates a new algorithm named newAlgorithmName (from the API query parameters), by migrating from the algorithm named in the query path:

algorithm   POST /algorithms/{algorithmName}/migration

This endpoint requires the following option in the query:

  • newAlgorithmName (required, no default)

    String
    The name of the new algorithm to be created by the migration.

This response from the API is an AsyncTask object that can be used to check the status and result of the migration.

Note

Migration of algorithms with a large amount of state (ex. a mapping algorithm with many mappings) can take several minutes or longer to complete. The engine's info.log will contain log messages indicating that the migration operation is making progress. Mapping algorithm migration is estimated to take approximately 3 minutes per 1,000,000 mapping values associated with the source algorithm.

Examples

Listing available migrations:

REQUEST

curl -X GET --header 'Accept: application/json' --header 'Authorization: 3d2d6f53-4b1a-42b5-b4c0-33ec3d66082f'
'http://masking-engine.example.com/masking/api/v5.1.10/algorithms/migration'

RESPONSE

{
  "availableMigrations": [
    {
      "algorithmName": "alg_J24QXMN3",
      "frameworkId": 13
    }
  ]
}

Migrating a mapping algorithm from the legacy framework to the new framework:

REQUEST

curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json'
--header 'Authorization: 3d2d6f53-4b1a-42b5-b4c0-33ec3d66082f'
'http://masking-engine.example.com/masking/api/v5.1.10/algorithms/alg_J24QXMN3/migration?newAlgorithmName=new_J24QXMN3'

RESPONSE

{
  "asyncTaskId": 29,
  "operation": "ALGORITHM_MIGRATE",
  "reference": "alg_J24QXMN3",
  "status": "WAITING",
  "cancellable": false
}