This topic describes the DescribeProjectSteps operation provided by OceanBase Migration Service (OMS).
Purpose
This operation is used to query the details of the steps of a data migration, synchronization, or verification task.
Call description
Limitations
This operation is available in OMS V4.1.0 and later.
Request path
POST /api/v2?Action=DescribeProjectSteps
Request parameters
| Parameter | Type | Description |
|---|---|---|
| id | String | The ID of the data migration, synchronization, or verification task. |
Response parameters
| Parameter | Type | Description |
|---|---|---|
| success | Boolean | Indicates whether the call is successful. |
| errorDetail | Object | The error details. |
| code | String | The error code. |
| message | String | The description. |
| advice | String | The suggestions. |
| requestId | String | The request ID. |
| pageNumber | Integer | The page number, which takes effect in a pagination query. |
| pageSize | Integer | The page size, which takes effect in a pagination query. |
| totalCount | Integer | The total number of pages returned, which takes effect in a pagination query. |
| cost | String | The time spent in processing the request, in seconds. |
| data | String | The information about the steps of the task. For more information, see Parameters in data. |
Parameters in data
Parameter Type Description order Integer The sequence number of the step. name String The name of the step. description String The description of the step. status String The status of the step. extraInfo Object The additional information. For more information, see Parameters in extraInfo. startTime String The start time of the step, in the UTC+0 time zone. finishTime String The end time of the step, in the UTC+0 time zone. progress Integer The progress of the step. stepInfo Object The details of the step. For more information, see Parameters in stepInfo. Parameters in extraInfo
Parameter Type Description errorDetails Array The error details. errorCode String The error code. errorMsg String The error message. errorParam map The error-related parameters. failedTime String The time when the error occurred. Parameters in stepInfo
Different parameters are nested under
stepInfofor different steps.TRANSFER_APP_SWITCH (forward switchover)
Parameter Type Description checkpointSampleTimestamp Long The checkpoint collection timestamp. The value is a Unix timestamp in seconds. interactive Boolean Indicates whether user confirmation is required. The value trueindicates that user confirmation is required, and the system does not automatically proceed with the step.INCR_TRANSFER (incremental synchronization) and REVERSE_INCR_TRANSFER (reverse incremental migration)
Parameter Type Description incrTimestampCheckpoint Long The checkpoint timestamp. The value is a Unix timestamp in seconds. checkpointSampleTimestamp Long The checkpoint collection timestamp. The value is a Unix timestamp in seconds. enableIncrStatistics Boolean Indicates whether DDL/DML statistics collection is enabled. latestConflictTimestamp Integer The latest conflict timestamp. conflictDownloadTimestamps Array The array of timestamps when conflict logs are downloaded. interactive Boolean Indicates whether user confirmation is required. The value trueindicates that user confirmation is required, and the system does not automatically proceed with the step.When an Oracle data source serves as the source or target and you configure to obtain incremental data from Kafka, the following response parameters are added to the
stepInfoobject.Parameter Type Description dataCheckpoint String The data timestamp that is used to calculate the latency of incremental data. For example, {"topicName":"1742455659"}.dataIncrTimestampCheckpoint Long The data timestamp that is used to calculate the latency of incremental data. For example, 1742455659. partitionCheckpoints Array The message timestamps and data timestamps of each Kafka partition. ├─ partition String The name of the Kafka partition. ├─ checkpoint Long The message timestamp of the Kafka partition. ├─ dataCheckpoint Long The data timestamp of the Kafka partition. Here is an example:
{ "stepInfo": { "incrTimestampCheckpoint": 1745474572, "checkpointSampleTimestamp": 1745474775, "enableIncrStatistics": null, "dataCheckpoint": "{\"ogg_row_test\":\"1745467238\"}", "dataIncrTimestampCheckpoint": 1745467238, "partitionCheckpoints": [ { "partition": "ogg_row_test-1", "checkpoint": 1745474769, "dataCheckpoint": 1745474391 }, { "partition": "ogg_row_test-0", "checkpoint": 1745474769, "dataCheckpoint": 1745467453 } ] } }FULL_VERIFIER (full verification) and FULL_TRANSFER (full migration)
Parameter Type Description processedRecords Long The ratio of migrated rows to total rows. capacity Long The estimated total number of rows. srcRps Long The read requests per second (RPS) of the source. srcRt String The read response time (RT) per record of the source, in milliseconds. srcIops Long The read throughput of the source, in bytes per second. dstRps Long The read/write RPS of the target. dstRt Long The read/write RT per record of the target, in milliseconds. dstIops Long The read/write throughput of the target, in bytes per second. srcRpsRef Long The read RPS baseline of the source. dstRpsRef Long The read/write RPS baseline of the target. dstRtRef Long The read/write RT baseline of the target. latestConflictTimestamp Integer The timestamp of the latest conflict. This parameter takes effect only in full migration tasks. conflictDownloadTimestamps Array The array of timestamps when conflict logs are downloaded. This parameter takes effect only in full migration tasks. interactive Boolean Indicates whether user confirmation is required. The value trueindicates that user confirmation is required, and the system does not automatically proceed with the step.
Examples
Request example
{
"id":"np_4w3r***"
}
Response example
{
"success": true,
"errorDetail": null,
"code": null,
"message": null,
"advice": null,
"requestId": "3b1ad52a-****-****-bcf7-937e819",
"pageNumber": null,
"pageSize": null,
"totalCount": null,
"cost": "4 ms",
"data": [
{
"order": 1,
"name": "TRANSFER_PRECHECK",
"description": "Precheck",
"status": "FINISHED",
"extraInfo": {
"errorDetails": null,
"errorCode": null,
"errorMsg": null,
"errorParam": null,
"failedTime": null
},
"startTime": "2023-07-17T23:01:25",
"finishTime": "2023-07-17T23:01:35",
"progress": 100,
"stepInfo": null
},
{
"order": 2,
"name": "STRUCT_TRANSFER",
"description": "Schema migration",
"status": "FINISHED",
"extraInfo": {
"errorDetails": null,
"errorCode": null,
"errorMsg": null,
"errorParam": null,
"failedTime": null
},
"startTime": "2023-07-17T23:03:02",
"finishTime": "2023-07-17T23:05:20",
"progress": 100,
"stepInfo": null
},
{
"order": 3,
"name": "TRANSFER_INCR_LOG_PULL",
"description": "Synchronously pull incremental logs",
"status": "FINISHED",
"extraInfo": {
"errorDetails": null,
"errorCode": null,
"errorMsg": null,
"errorParam": null,
"failedTime": null
},
"startTime": "2023-07-17T23:05:25",
"finishTime": "2023-07-17T23:06:03",
"progress": 100,
"stepInfo": null
},
{
"order": 4,
"name": "FULL_TRANSFER",
"description": "Full migration",
"status": "FINISHED",
"extraInfo": {
"errorDetails": null,
"errorCode": null,
"errorMsg": null,
"errorParam": null,
"failedTime": null
},
"startTime": "2023-07-17T23:07:15",
"finishTime": "2023-07-17T23:07:35",
"progress": 100,
"stepInfo": {
"processedRecords": 92198,
"capacity": 92198,
"srcRps": 140,
"srcRt": 7,
"srcIops": 40945,
"dstRps": 140,
"dstRt": 7,
"dstIops": 40945,
"srcRpsRef": 8000,
"srcRtRef": 1,
"dstRpsRef": 8000,
"dstRtRef": 1,
"srcIopsRef": 8388608,
"latestConflictRecordTime": 1743272855,
"conflictDownloadTimestamps": [1743272855,1743272859,1743272889]
}
},
{
"order": 5,
"name": "INDEX_TRANSFER",
"description": "Index migration",
"status": "FINISHED",
"extraInfo": {
"errorDetails": null,
"errorCode": null,
"errorMsg": null,
"errorParam": null,
"failedTime": null
},
"startTime": "2023-07-17T23:07:30",
"finishTime": "2023-07-17T23:07:40",
"progress": 100,
"stepInfo": null
},
{
"order": 6,
"name": "INCR_TRANSFER",
"description": "Incremental synchronization",
"status": "MONITORING",
"extraInfo": {
"errorDetails": null,
"errorCode": null,
"errorMsg": null,
"errorParam": null,
"failedTime": null
},
"startTime": "2023-07-17T23:08:57",
"finishTime": "2023-07-17T23:14:34",
"progress": 100,
"stepInfo": {
"incrTimestampCheckpoint": 1689832976,
"checkpointSampleTimestamp": 1689832977,
"enableIncrStatistics": true
}
},
{
"order": 7,
"name": "FULL_VERIFIER",
"description": "Full verification",
"status": "INIT",
"extraInfo": {
"errorDetails": null,
"errorCode": null,
"errorMsg": null,
"errorParam": null,
"failedTime": null
},
"startTime": null,
"finishTime": null,
"progress": 0,
"stepInfo": {
"processedRecords": null,
"capacity": null,
"srcRps": null,
"srcRt": null,
"srcIops": null,
"dstRps": null,
"dstRt": null,
"dstIops": null,
"srcRpsRef": null,
"srcRtRef": null,
"dstRpsRef": null,
"dstRtRef": null,
"srcIopsRef": null
}
},
{
"order": 8,
"name": "TRANSFER_APP_SWITCH",
"description": "Forward switchover",
"status": "INIT",
"extraInfo": {
"errorDetails": null,
"errorCode": null,
"errorMsg": null,
"errorParam": null,
"failedTime": null
},
"startTime": null,
"finishTime": null,
"progress": 0,
"stepInfo": {
"checkpointSampleTimestamp": null
}
},
{
"order": 9,
"name": "REVERSE_INCR_TRANSFER",
"description": "Reverse incremental migration",
"status": "INIT",
"extraInfo": {
"errorDetails": null,
"errorCode": null,
"errorMsg": null,
"errorParam": null,
"failedTime": null
},
"startTime": null,
"finishTime": null,
"progress": 0,
"stepInfo": null
}
]
}