DTS-RETRY-ERR (0701–0800)

Updated at:

This topic describes error codes DTS-RETRY-ERR-0701 through DTS-RETRY-ERR-0800 that may occur when configuring or running a DTS task, along with their causes and solutions.

In this topic, the **(.*)?** regular expression indicates variables in error messages.

MaxCompute errors

DTS-RETRY-ERR-0701: There are not any columns in table (.*)?

The destination MaxCompute table has no column definitions. DTS cannot write data to a table without columns. This typically occurs when column information was not configured correctly after the table was created.

Solution

Check and correct the table schema in the destination MaxCompute table to ensure the required columns are defined. Then restart the DTS task.

Error example

DTS-100047: retry 120 times, 1200 seconds, which exceed the supposed 1200 seconds cause: RecoverableAnyAllException: transaction-replicate: DTS-70004: execute upload failed, may try it again CriticalAnyAllException: framework: DTS-30018: SchemaManager: There are not any columns in table xxx

SQL Server errors

DTS-RETRY-ERR-0702: There is insufficient system memory in resource pool (.*)? to run this query.

The internal resource pool of the destination SQL Server instance does not have enough memory to execute the query sent by DTS. This indicates the database server is low on system resources.

Solution

Check the memory usage and overall health of the destination SQL Server instance. Optimize the database configuration, shut down non-essential services, or increase the server memory as needed. After the instance resources return to normal, restart the DTS task.

Error example

com.microsoft.sqlserver.jdbc.SQLServerException: There is insufficient system memory in resource pool 'xxx' to run this query.

DTS-RETRY-ERR-0706: Transaction (Process ID (.*)?) was deadlocked on lock | communication buffer resources with another process and has been chosen as the deadlock victim. Rerun the transaction.

A deadlock occurred between DTS and another transaction while writing data to the destination SQL Server instance. Deadlocks are typically sporadic and occur under high database concurrency.

Solution

Check the destination database for applications or queries that hold locks for extended periods and optimize them. Then restart the DTS task.

Error example

DTS-70003: 12 execute transaction has excess max transaction retry time [64] cause:transaction-replicate:
DTS-70004: EXEC statement failed, may try it again cause: RecoverableAnyAllException: transaction-replicate: DTS-70004: EXEC statement failed, may try it again SQLServerException: Transaction (Process ID xxx) was deadlocked on lock | communication buffer resources with another process and has been chosen as the deadlock victim. Rerun the transaction.

PostgreSQL errors

DTS-RETRY-ERR-0703: This slot has been invalidated because it exceeded the maximum reserved size

The logical replication slot created in the source PostgreSQL database for incremental data synchronization exceeded its maximum size limit. PostgreSQL automatically invalidated and removed the slot, which means the incremental logs required by DTS have been lost and the replication slot can no longer be used.

Solution

Increase the parameter limits of the source PostgreSQL database to provide more space for log retention. After updating the parameters, create the DTS task again.

Important

Because the replication slot has been invalidated and the incremental logs are lost, restarting the existing DTS task will not resolve this error. You must create a new DTS task after updating the database parameters.

Error example

DTS-52510: Fetch postgresql logical log failed FatalAnyAllException: common: DTS-100047: retry 60 times, 613155 seconds, which exceed the supposed 43200 seconds CriticalAnyAllException: postgresql-reader:
DTS-52512: postgres open replication steam failed PSQLException: ERROR: can no longer get changes from replication slot "dts_sync_z0sv5l76xxxx" Detail: This slot has been invalidated because it exceeded the maximum reserved size.

DTS-RETRY-ERR-0716: xlog flush request

While reading the transaction log (XLOG) from the source PostgreSQL database, the database reported an internal I/O error — a log flush request was not satisfied. This indicates a disk I/O issue on the source database host.

Solution

Check the health, disk I/O performance, and error logs of the source PostgreSQL database immediately. After resolving the underlying I/O issue, restart the DTS task.

Error example

DTS-31009: In process of processing data (recordRange: 293226462284xxx) failed cause: FatalAnyAllException: common: DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 43200 seconds CriticalAnyAllException: framework:
DTS-31009: read source data error PSQLException: ERROR: xlog flush request xxx is not satisfied --- flushed only to xxx Where: writing block 134 of relation pg_tblspc/16386/PG_11_201809051/16385/21573

ClickHouse errors

DTS-RETRY-ERR-0704: Too many parts

The destination ClickHouse table has too many partitions (parts), preventing DTS from writing new data. This typically results from a partition key design that generates too many small parts or from a merge process that is falling behind.

Solution

Check the health of the destination ClickHouse instance. Optimize the table's merge policy or redesign the partition key to reduce the number of parts. To temporarily raise the threshold, set max_parts_in_total in the config.xml file or as a per-table setting. After the partition count returns to normal, restart the DTS task.

Error example

DTS-70003: 9 execute transaction has excess max transaction retry time [64] cause:transaction-replicate:
DTS-70004: EXEC statement failed, may try it again cause: RecoverableAnyAllException: transaction-replicate: DTS-70004: EXEC statement failed, may try it again SQLException: ClickHouseEngine(9): meet error, insertSQL:insert into `xxx`.`xxx` () values (),
error detail message:Code: 252. DB::Exception: Too many parts (100079) in all partitions in total in table 'xxx'.
This indicates wrong choice of partition key. The threshold can be modified with 'max_parts_in_total' setting in element in config.xml or with per-table se...

DTS-RETRY-ERR-0711: Unexpected end of file from server

The connection between DTS and the destination ClickHouse server was unexpectedly interrupted during a data transfer. This is usually caused by network instability or an abnormal ClickHouse node.

Solution

Check the error logs and overall health of the ClickHouse server. Troubleshoot network connectivity between DTS and ClickHouse. After the connection is stable, restart the DTS task to reconnect.

Error example

java.sql.SQLException: Unexpected end of file from server, server ClickHouseNode [uri=http://10.xxx.xxx.xxx:xxx/tpcc]@603276966

Oracle errors

DTS-RETRY-ERR-0707: trigger '(.*)?' is invalid and failed re-validation

When DTS wrote data to the destination Oracle table, it fired a trigger that was invalid or could not be re-validated. The trigger failure prevented the write operation from completing.

Solution

Disable or delete the triggers associated with the synchronized tables in the destination Oracle database. Then restart the DTS task.

Error example

DTS-100047: retry 4315 times, 43202 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: framework: DTS-30011: currentRunningSQL: /* DTS-full-e6at6t7926axxx */insert into "xxx"."xxx"() VALUES (),currentRow:xxx,
reason: ORA-04098: trigger 'xxx.xxx' is invalid and failed re-validation BatchUpdateException: ORA-04098: trigger 'xxx.xxx' is invalid and failed re-validation

DTS-RETRY-ERR-0708: unable to allocate (.*)? bytes of shared memory

The shared pool of the destination Oracle database has insufficient memory. Oracle cannot allocate the memory required for the SQL operations executed by DTS.

Solution

Increase the SHARED_POOL_SIZE parameter of the destination Oracle database, or clear the shared pool. Then restart the DTS task.

Error example

DTS-70002: Failed to get foreign key of CREDITLOANDB.CODE_LIBRARY cause: SQLException: ORA-04031: unable to allocate xxx bytes of shared memory ("shared pool","xxx")

DTS-RETRY-ERR-0709: unable to extend index (.*)? by (.*)? in tablespace (.*)?

The tablespace of the destination Oracle database is full, preventing the index from being extended when DTS writes data.

Solution

Add a data file to the tablespace named in the error message, or increase the size of an existing data file in that tablespace. Then restart the DTS task.

Error example

DTS-077100: Record Replicator error in table INTIME.STR_COM_DAY. cause by [java.sql.SQLException: ORA-01654: unable to extend index xxx by xxx in tablespace xxx ] About more information in [https://yq.aliyun.com/articles/508049].

DTS-RETRY-ERR-0710: unable to extend table (.*)? by (.*)? in tablespace (.*)?

The tablespace of the destination Oracle database is full, preventing the table from being extended when DTS writes data.

Solution

Add a data file to the tablespace named in the error message, or increase the size of an existing data file in that tablespace. Then restart the DTS task.

Error example

DTS-30011: currentRunningSQL: /* DTS-full-i1js7421a9ixxx */insert into "xxx"."xxx"() VALUES (),currentRow:xxx, reason: ORA-01653: unable to extend table xxx by xxx in tablespace xxx cause: BatchUpdateException: ORA-01653: unable to extend table xxx by xxx in tablespace xxx

RocketMQ errors

DTS-RETRY-ERR-0705: TopicMessageType validate failed

The message type of the destination RocketMQ topic does not match what DTS requires. A mismatch between the expected and actual topic message type prevents DTS from writing to the topic.

Solution

Change the message type of the destination RocketMQ topic to match the type required by the DTS task. Then restart the DTS task.

Error example

DTS-70026: execute ddl failed cause: FatalAnyAllException: common: DTS-100047: retry 15 times, 15 seconds, which exceed the supposed xxx seconds MQBrokerException: CODE: 13 DESC: TopicMessageType validate failed, the expected type is NORMAL, but actual type is FIFO BROKER: 10.xxx.xxx.xxx:xxx For more information, please visit the url, https://rocketmq.apache.org/docs/bestPractice/06FAQ

SelectDB errors

DTS-RETRY-ERR-0712: unknown table

DTS attempted to write data to the destination SelectDB (Doris) database via stream load, but the specified table does not exist.

Solution

Verify that the synchronization objects are correctly configured in the DTS task and that the corresponding table has been created in the destination SelectDB database.

Error example

DTS-100047: retry 3755 times, 43208 seconds, which exceed the supposed 43200 seconds cause: TransactionReplicateException: transaction-replicate: DTS-70003: 16 execute transaction has excess max transaction retry time [64] cause:Failed to stream load data to table: xxx status is fail.
Load result: {"Status":"Fail","Comment":"","BeginTxnTimeMs":0,"Message":"[NOT_FOUND]TStatus: errCode = 7, detailMessage = unknown table, tableName=xxx","NumberUnselectedRows":0,"CommitAndPublishTimeMs":0,"Label":"DTS-SelectDB-Sink2dfxxxx-72f8-4cbf-a475-36f7ddaxxxx","LoadBytes":0,"StreamLoadPutTimeMs":0,"NumberTotalRows":0,"WriteDataTimeMs":0,"TxnId":-1,"LoadTimeMs":0,"TwoPhaseCommit":"false","ReadDataTimeMs":0,"NumberLoadedRows":0,"NumberFilteredRows":0} IOException: Failed to stream load data to table: xxxx status is fail.

TiDB errors

DTS-RETRY-ERR-0713: unsupport operationType: TIDB_WATERMARK

DTS does not support the WATERMARK event type generated by TiCDC. This error occurs when the enable-tidb-extension parameter is enabled in the TiCDC configuration, which causes TiCDC to emit TIDB_WATERMARK events that DTS cannot process.

Solution

  1. Edit the TiCDC configuration file and set enable-tidb-extension to false.

  2. Restart TiCDC to apply the change.

  3. Restart the DTS task.

Error example

DTS-31009: In process of processing data (recordRange: 602980062876xxx) failed cause: FatalAnyAllException: common: DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 43200 seconds RuntimeException: java.lang.RuntimeException: unsupport operationType: TIDB_WATERMARK RuntimeException: unsupport operationType: TIDB_WATERMARK

AnalyticDB for MySQL errors

DTS-RETRY-ERR-0715: waitResult/ReDispatch

A timeout occurred while DTS was waiting for the destination AnalyticDB for MySQL 3.0 instance to confirm a write operation. This indicates the instance is under high load or processing data slowly, causing write requests to exceed the syncTimeoutMills threshold.

Solution

Check the running status, load metrics, and slow query logs of the destination AnalyticDB for MySQL 3.0 instance. After the instance returns to normal, restart the DTS task.

Error example

DTS-100047: retry 0 times, 72788 seconds, which exceed the supposed 43200 seconds cause: TransactionReplicateException: transaction-replicate: DTS-70003: 9 execute transaction has excess max transaction retry time [64] cause:transaction-replicate:
DTS-70004: EXEC statement failed, may try it again RecoverableAnyAllException: transaction-replicate: DTS-70004: EXEC statement failed, may try it again SQLException: ADB30Engine(9): meet error, insertSQL:/*dts_id=dtszqva11ali3xxxx*/replace into `xxx`.`xxx` () values (),
error detail message:[40001, 202507151205071921xxxx190034533xxxx] waitResult/ReDispatch : deadline=17525526xxxx,syncTimeoutMills=300000 SQLException: [40001, 202507151205071921xxxx190034533xxxx] waitResult/ReDispatch : deadline=17525526xxxx,syncTimeoutMills=300000