Skip to main content
Delphix

KBA1786 DB2 VDB SnapSync Fails Due to An Internal Error After Upgrade to 5.3.x

 

 

Applicable Delphix Versions

 

Major Release

All Sub Releases

5.3 5.3.0.0, 5.3.0.1

Issue

After upgrading a Delphix Engine with DB2 VDBs configured, scheduled or manual SnapSync operations for those VDBs may fail with an internal error, directing the user to contact Delphix Support.

The messaging in the UI will read as follows:

DB_SYNC job for "<VDB NAME>" failed due to an internal error during execution.

An example of the UI Actions result is provided below:

clipboard_e5e49c5c4ba7a7fc13f9e4749e6b40ec2.png

And the Job Details view:

clipboard_e21c22a3664aa39b0ef3b1980158c3c50.png

 

Troubleshooting

VDBs experiencing this issue may have a sourceConfig path parameter unset; this can occur when the VDB provision is completed via CLI or API scripting. 

The VDB sourceConfig path parameter can be checked via CLI by navigating to sourceconfig, selecting the affected VDB, and viewing its details with the ls command. An example is provided below; note the path parameter is indicated as unset (highlighted in this document for visibility with <<<<< characters), which is a key indication of the root cause in this instance.

All commands issued will be highlighted in bold text.

delphix.engine> /sourceconfig
delphix.engine sourceconfig> ls
Objects
NAME           REPOSITORY              LINKINGENABLED
VDB6           auto1056 - 10.5.0.5 -   true
VDB8           auto1058 - 10.5.0.5 -   true
VDB7           auto1057 - 10.5.0.5 -   true
delphix_nhadr  auto1052 - 10.5.0.5 -   true

Operations
create
delphix.engine sourceconfig> select VDB8
delphix.engine sourceconfig 'VDB8'> ls
Properties
    type: AppDataDirectSourceConfig
    name: VDB8
    discovered: false
    environmentUser: auto1058
    linkingEnabled: true
    parameters: {"dbName":"VDB8","prettyName":"VDB8"}
    path: (unset) <<<<<<<<<<<<<<<
    reference: APPDATA_SOURCE_CONFIG-3
    repository: auto1058 - 10.5.0.5 -
    toolkit: `APPDATA_TOOLKIT-35/db2db

If the VDB sourceconfig path parameter is blank rather than unset, this document resolution will not apply, and a Support case should be created for further investigation.

delphix.engine sourceconfig 'VDB7'> ls
Properties
    type: AppDataDirectSourceConfig
    name: VDB7
    discovered: false
    environmentUser: auto1057
    linkingEnabled: true
    parameters: {"dbName":"VDB7","prettyName":"VDB7"}
    path: <<<<<<<<<<<<<<<
    reference: APPDATA_SOURCE_CONFIG-4
    repository: auto1057 - 10.5.0.5 - 
    toolkit: `APPDATA_TOOLKIT-35/db2db

Resolution

For VDBs which have a sourceconfig path parameter unset, the sourceconfig can be manually updated via CLI to an empty field, which will prevent the internal error from occurring. 

Note, in order to alter a VDB sourceconfig, the VDB must be disabled first. This can be done from the GUI:

clipboard_e882e374d33b433c89d6c2bd790e4408e.png

Or from the CLI:

delphix.engine> /source; select VDB8; disable; commit
    Dispatched job JOB-111
    SOURCE_DISABLE job started for "VDB8".
    Disabling virtual database "VDB8".
    Unmounting datasets.
    Unexporting storage containers.
    Virtual database "VDB8" disabled.
    SOURCE_DISABLE job for "VDB8" completed successfully.

In the following example we will set the sourceconfig path to an empty value, using the previous example VDB8 (note, a successful configuration change will not give any positive feedback in the CLI, but only return to the prompt):

delphix.engine > /sourceconfig; select VDB8
delphix.engine sourceconfig 'VDB8' update *> set path=""
delphix.engine sourceconfig 'VDB8' update *> commit

Failing to disable the VDB before this operation will fail with an error message indicating as such:

delphix.engine sourceconfig 'VDB8' update *> commit
   Error: The path of source config "VDB8" associated with source "VDB8" cannot be updated while the source is enabled.
  Action: Disable source "VDB8" and try updating the path of source config "VDB8" again.

A successful update will be visible in the UI under Recently completed in the Actions pane:

clipboard_eeeae0dc3f85dd661016b74877f2bc6f0.png 

Once the workaround is applied, the parameters should be listed again with ls to confirm the change.

Additional Information

This issue is only encountered for objects created via CLI or API, as the GUI implicitly sets the sourceconfig path parameter to an empty field (not NULL) if the path variable is not populated during configuration.