Referential Integrity Not maintained in two delphix masking engine, Will it support?

  • 0
  • 1
  • Question
  • Updated 6 months ago
  • Answered
When there is twp delphix engine 
Engine 1- DB1
Engine 2 - DB2

Apply same algorithm on DB1 and DB2 and check the first name and last name on DB1 and DB2 for same customer

Expected: It should be same 
Actual: It is diff, Please let me know how it will be in sync what exactly ( Will delphix support cross engine RI ?)
Photo of Rajesh


  • 702 Points 500 badge 2x thumb

Posted 6 months ago

  • 0
  • 1
Photo of Gary Hallam

Gary Hallam, Official Rep

  • 2,300 Points 2k badge 2x thumb
Official Response
Hi Rajesh,
What type of algorithm are you wishing to sync?  Some have their own key so you simply need to export and import the algorithm itself.  Others use a central key which can be exported.

I've tried this out using the api-client and after a bit of deep thinking (which is quite shallow relatively speaking) I managed to demonstrate this.  I haven't recorded it but here's what I did:

1. First I had two cloned engines which were identical so I took the FirstNameLookup algorithm and changed the key on that.
- log into api-client:
click login, click on the example box and then update the credentials to your credentials.  Click Try It!
Copy the authorization code
Scroll to top of screeen and click on Authorize in top rh corner and then paste the authorization code into the appropriate box.  Click Try It! (or whatever the button is)

Now you're logged into the api-client.

2. Update the key on one of the engines (you don't need to do this step if your engines are already different)
- click on algorithms, then click on PUT /algorithms/{algorithmName}/randomize-keyexport
- enter the algorithm name - in my case FirstNameLookup
- click Try It Out!

I then tested that the algorithm created different masked values

3. Get the details of the Algorithm You want to Export
- click GET /syncable objects
- click Try It Out!
- copy the response body part that you need i.e.
{ "objectIdentifier": { "algorithmName": "FirstNameLookup" }, "objectType": "LOOKUP", "revisionHash": "59b56ea28e5a7f0e4c1aadfece4b6b8be0d0d631" }

4. Export Your Algorithm
- click sync
- click POST /export
- paste the body part copied in previous step
- add the square brackets top and bottom [ ... ]
- click Try it out!

5. Copy the Algorithm
- copy the response text and paste somewhere you can re-use

6. Import the Algorithm
- you need to log into the client-api of the target machine
- see step 1
- click sync POST /import
- paste the export details into the body
- ensure force-overwrite is true
- type in the environment integer (in my case 1)
- type in the source environment id (I chose the integer 2 - I'm not sure what this value is; RTFM)
- click Try it out!

You should now try out the algorithm and it should provide RI.

I may do a video if I get time.