Delphix Toolkits (dxToolkit and dxmToolkit)

 View Only
Expand all | Collapse all

Receiving Error trying to take a snapshot after upgrading engine and dxtoolkit

  • 1.  Receiving Error trying to take a snapshot after upgrading engine and dxtoolkit

    Posted 05-14-2021 07:43:00 AM
    After upgrading the virtualization engine to 6.0.7, and upgrading dxtoolkit to the latest release, clients are seeing the following error when calling dx_snapshot_db:

    Problem with starting job<u5:p></u5:p>

    Error: parameters->The field "parameters" is required.

    <u5:p></u5:p>From debug log, we see this:
    Entering VDB_obj::snapshot
    -Entering VDB_obj::runJobOperation
    -resources/json/delphix/database/APPDATA_CONTAINER-35/sync
    -Entering Engine::postJSONData
    -{"type":"AppDataSyncParameters","resync":false}
    -Response message: {
    "type" : "ErrorResult",
    "error" : {
    "type" : "APIError",
    "action" : "Check your input parameters and try again.",
    "id" : "exception.validation.bad.input",
    "details" : {
    "parameters" : {
    "id" : "exception.validation.field.missing",
    "action" : null,
    "details" : "The field \"parameters\" is required.",
    "diagnoses" : null,
    "commandOutput" : null
    }
    },
    "diagnoses" : null,
    "commandOutput" : null
    },
    "status" : "ERROR"
    }

    -Entering Engine::getEngineName
    Problem with starting job
    Error: parameters->The field "parameters" is required.
    -Can't submit job for operation resources/json/delphix/database/APPDATA_CONTAINER-35/sync
    error $VAR1 = {
    'parameters' => {
    'id' => 'exception.validation.field.missing',
    'action' => undef,
    'details' => 'The field "parameters" is required.',
    'diagnoses' => undef,
    'commandOutput' => undef
    }
    };
    $VAR2 = 1;

    -Check your input parameters and try again.

    There has been no change in the script that calls dx_snapshot_db, and this has been working fine with earlier versions of the dxtoolkit and engine.  Is there a new parameter that needs to be set for this call?



    ------------------------------
    George Barroso
    Managing Director
    Axis Technology, LLC
    ------------------------------


  • 2.  RE: Receiving Error trying to take a snapshot after upgrading engine and dxtoolkit
    Best Answer

    Posted 05-14-2021 10:55:00 AM
    Edited by Michael Torok 09-20-2022 03:58:17 PM
    Hello George-

    It looks like the issue is occurring due to a change in the Delphix API, introduced in 1.11.6 (6.0.6.0), that adds a required sync parameters field to allow for inclusion of JSON payload for toolkit or plugin usage.  This is documented, albeit lightly, in the onboard Engine API docs at:

    http://<your engine>/api/#AppDataSyncParameters

    As well as the 6.0.6.0 release notes:

    https://docs.delphix.com/docs/release-notes/release-notes-6-0-x/api-changes/api-changes-in-delphix-6-0-6-0

    To submit a sync job with no toolkit/plugin-specific parameters defined, an empty JSON array can be configured in the sync request:

    set parameters={}

    You mentioned dxToolkit upgraded to the latest version, but I do notice that there is an existing issue filed in the dxToolkit github which appears to describe this issue, and is fixed in 2.4.11 release, which was published on April 12:

    https://github.com/delphix/dxtoolkit/issues/177

    I have just downloaded the 2.4.11 release and tested this against an Appdata container on a 6.0.7.0 Engine, and it completes without issue, so you may want to check the current installation and apply 2.4.11 if you have not already.

    In addition, the issue link referenced above provides an alternative workaround that explicitly sets the Engine version, which sets the equivalent API version and reverts to the previous behavior, so that may be another option to consider if the current installation can not be modified.

    I hope this helps!

    ------------------------------
    Sean Nothdurft
    Senior Principal Technical Support Engineer
    Delphix
    ------------------------------