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-0To 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/177I 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
------------------------------
Original Message:
Sent: 05-14-2021 07:43:12 AM
From: George Barroso
Subject: Receiving Error trying to take a snapshot after upgrading engine and dxtoolkit
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><o:p></o:p>
Error: parameters->The field "parameters" is required.
<u5:p></u5:p><o:p></o: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
------------------------------