DTS-RETRY-ERR(0401~0500)

本文为您介绍在配置DTS任务时,系统返回的报错信息(DTS-RETRY-ERR-0401DTS-RETRY-ERR-0500)及其对应的解决方法。

说明
  • 本文以正则表达式((.*)?)的形式表示报错信息中的变量。

  • 若报错无法解决,您可以通过钉钉(钉钉通讯客户端下载地址)进入到DTS客户交流钉钉群(群号:116655009709),进行咨询。

DTS-RETRY-ERR-0401:CDC partition (.*)? capture instance is not found

可能原因:源库CDC已被清理。

解决方法

  • 方法一:请联系源库的管理员(DBA)进行处理,然后重新启动DTS任务

  • 方法二:重新配置DTS任务。

报错示例

DTS-100047: retry 0 times, 1000 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: dts-k-src: DTS-52111: Increment Context Is Not Running..: CriticalAnyAllException: sqlserver-reader: DTS-52340: Serial transaction log failed CriticalAnyAllException: sqlserver-reader: DTS-52421: CDC partition 7**** capture instance is not found, LSN=00****

DTS-RETRY-ERR-0402:com.microsoft.sqlserver.jdbc.SQLServerException: Read timed out

可能原因:DTS读取源库数据超时。

解决方法:请确保DTS可以正常连接并读取源库的数据,然后重新启动DTS任务

报错示例

com.microsoft.sqlserver.jdbc.SQLServerException: Read timed out ClientConnectionId:eb622896-230******

DTS-RETRY-ERR-0403:Database cdc is disable mode

可能原因:源库CDC被关闭。

解决方法:开启源库的CDC,然后重新启动DTS任务

报错示例

DTS-100047: retry 0 times, 12011 seconds, which exceed the supposed 43200 seconds cause: RecoverableAnyAllException: dts-k-src: DTS-52110: SQLServerRecordExtractor Init Error: sqlserver-reader: DTS-52405: Database cdc is disable mode CriticalAnyAllException: sqlserver-reader: DTS-52405: Database cdc is disable mode

DTS-RETRY-ERR-0404:ERROR_LOAD_CDC_DATA,Capture Instance

可能原因:源库CDC实例(CDC Instance)加载失败。

解决方法:请确保源库CDC作业正常运行,且DTS任务中开启CDC的表数量控制在合理的范围内(建议不超过1000),然后重新启动DTS任务

报错示例

DTS-100047: retry 0 times, 1000 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: dts-k-src: DTS-52111: Increment Context Is Not Running..: ExecutionException: java.lang.RuntimeException: ERROR_LOAD_CDC_DATA,Capture Instance **** RuntimeException: ERROR_LOAD_CDC_DATA,Capture Instance{dbo_BAS_Location_dts_cap_20241205160405,dbo_BAS_Codes_dts_cap_2024120812****,dbo_INV_LOT_LOC_ID_dts_cap_2024120516****}

DTS-RETRY-ERR-0405:execute sql DBCC TRACEOFF (.*)? failed

可能原因:DTS任务使用的源库账号权限不足。

解决方法

  • 方法一:根据报错信息给数据库账号授予足够的权限,然后重新启动DTS任务

  • 方法二:使用权限充足的数据库账号配置DTS任务。

报错示例

DTS-52110: SQLServerRecordExtractor Init Error: sqlserver-reader: DTS-52061: Failed to seek sqlserver position cause: CriticalAnyAllException: sqlserver-reader: DTS-52061: Failed to seek sqlserver position CriticalAnyAllException: sqlserver-reader: DTS-52411: Fetch backup log failed CriticalAnyAllException: sqlserver-reader: DTS--0001: execute sql DBCC TRACEOFF(2537,-1) failed, case by common: DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 43200 seconds FatalAnyAllException: common: DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 43200 seconds SQLServerException: Database *** does not exist. Make sure that the name is entered correctly.

DTS-RETRY-ERR-0407:Fetch RDS SQL Server backup log failed, fetch lsn

可能原因:源库日志已被清理。

解决方法

  • 方法一:请联系源库的管理员(DBA)进行处理,然后重新启动DTS任务

  • 方法二:重新配置DTS任务。

报错示例

DTS-100047: retry 0 times, 281445 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: dts-k-src: DTS-52111: Increment Context Is Not Running..: CriticalAnyAllException: sqlserver-reader: DTS-52410: Sqlserver log fetch failed CriticalAnyAllException: sqlserver-reader: DTS-52411: Fetch RDS SQL Server backup log failed, fetch lsn = ****

DTS-RETRY-ERR-0408:get table (.*)? detail info failed

可能原因

解决方法

目标表不存在。

请确保目标库状态正常且可以正常连接、目标库中用于接收数据的表存在、DTS任务所使用的目标库账号权限充足,然后重新启动DTS任务

DTS任务使用的目标库账号权限不足。

  • 方法一:根据报错信息给数据库账号授予足够的权限,然后重新启动DTS任务

  • 方法二:使用权限充足的数据库账号配置DTS任务。

报错示例

DTS-31007: get table **** detail info failed after retrying. cause: FatalAnyAllException: common: DTS-100047: retry 4307 times, 43204 seconds, which exceed the supposed 43200 seconds RecoverableAnyAllException: replicate-sqlserver: DTS-70002: get table [[DC_CRM_SIT].[dbo].[Test****]] detail info failed. SQLServerException: Invalid object name 'DC_CRM_SIT.dbo.Test****'.

DTS-RETRY-ERR-0409:History cdc (.*)? capture instance is deleted

可能原因:源库CDC已被清理。

解决方法

  • 方法一:请联系源库的管理员(DBA)进行处理,然后重新启动DTS任务

  • 方法二:重新配置DTS任务。

报错示例

DTS-100047: retry 0 times, 102730 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: dts-k-src: DTS-52111: Increment Context Is Not Running..: CriticalAnyAllException: sqlserver-reader: DTS-52340: Serial transaction log failed CriticalAnyAllException: sqlserver-reader: DTS-52422: History cdc **** capture instance is deleted, LSN=0000****

DTS-RETRY-ERR-0410:Incorrect syntax near the keyword

可能原因:DTS任务配置异常。

解决方法:重新配置DTS任务。若您的DTS任务使用了过滤条件数据处理(ETL)功能,请确保相关语句的正确性。

报错示例

DTS-31009: In process of processing data (recordRange: 573855793005****) failed cause: FatalAnyAllException: common: DTS-100047: retry 4309 times, 43201 seconds, which exceed the supposed 43200 seconds CriticalAnyAllException: framework: DTS-30020: execute sql:/* DTS-full-h**** --> (null, null) record range id = 5738557930056****, fetchSize = 10000 SQLServerException: Incorrect syntax near the keyword 'FROM'.

DTS-RETRY-ERR-0411:Input parameter LSN can't be null or empty

可能原因:源库日志已被清理。

解决方法

  • 方法一:请联系源库的管理员(DBA)进行处理,然后重新启动DTS任务

  • 方法二:重新配置DTS任务。

报错示例

DTS-100047: retry 0 times, 1000 seconds, which exceed the supposed 7200 seconds cause: CriticalAnyAllException: dts-k-src: DTS-52111: Increment Context Is Not Running..: CriticalAnyAllException: sqlserver-reader: DTS-52410: Sqlserver log fetch failed IOException: sqlserver-reader: DTS-52415: Input parameter LSN can't be null or empty CriticalAnyAllException: sqlserver-reader: DTS-52415: Input parameter LSN can't be null or empty

DTS-RETRY-ERR-0412:invalid backup log

可能原因:源库日志已被清理。

解决方法

  • 方法一:请联系源库的管理员(DBA)进行处理,然后重新启动DTS任务

  • 方法二:重新配置DTS任务。

报错示例

DTS-100047: retry 0 times, 1002 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: dts-k-src: DTS-52111: Increment Context Is Not Running..: CriticalAnyAllException: sqlserver-reader: DTS-52410: Sqlserver log fetch failed CriticalAnyAllException: sqlserver-reader: DTS-52413: invalid backup log

DTS-RETRY-ERR-0414:Login failed for user (.*)?

可能原因:源库无法连接。

解决方法:请确保DTS可以正常连接并读取源库的数据,然后重新启动DTS任务

报错示例

DTS-100047: retry 0 times, 1000 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: dts-k-src: DTS-52111: Increment Context Is Not Running..: CriticalAnyAllException: sqlserver-reader: DTS-52410: Sqlserver log fetch failed IOException: com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user '****'. Reason: Server is in script upgrade mode. Only administrator can connect at this time. ClientConnectionId:a6e3cd3f-9ee9-4065-84e0-7**** SQLServerException: Login failed for user '****'. Reason: Server is in script upgrade mode. Only administrator can connect at this time. ClientConnectionId:a6e3cd3f-9ee9-4065-84e0-7****

DTS-RETRY-ERR-0415:Miss redo log file

可能原因:源库日志已被清理。

解决方法

  • 方法一:请联系源库的管理员(DBA)进行处理,然后重新启动DTS任务

  • 方法二:重新配置DTS任务。

报错示例

DTS-52111: Increment Context Is Not Running..: cause: CriticalAnyAllException: oracle-reader: DTS-52320: Fetch oracle log failed FatalAnyAllException: common: DTS-100047: retry 0 times, 100 seconds, which exceed the supposed 43200 seconds CriticalAnyAllException: oracle-reader: DTS-52322: Miss redo log file

DTS-RETRY-ERR-0416:Not found capture log at (.*)?

可能原因:源库CDC已被清理。

解决方法

  • 方法一:请联系源库的管理员(DBA)进行处理,然后重新启动DTS任务

  • 方法二:重新配置DTS任务。

报错示例

DTS-100047: retry 0 times, 11010 seconds, which exceed the supposed 43200 seconds cause: IllegalArgumentException: Not found capture log at {timestamp:173527****}

DTS-RETRY-ERR-0417:Not support db empty

可能原因:偶发性错误。

解决方法:请重试或重新启动DTS任务若异常无法解决,请通过钉钉(钉钉通讯客户端下载地址)进入到DTS客户交流钉钉群(群号:116655009709),进行咨询。

报错示例

DTS-100047: retry 0 times, 11108 seconds, which exceed the supposed 43200 seconds cause: RuntimeException: Not support db empty.

DTS-RETRY-ERR-0418:Not support fetch backup log MissActiveLogException: ERROR_MISS_TRANSACTION_LOG

可能原因:源库日志被截断或清理。

解决方法

  • 方法一:请联系源库的管理员(DBA)进行处理,然后重新启动DTS任务

  • 方法二:重新配置DTS任务。

报错示例

DTS-100047: retry 0 times, 14054 seconds, which exceed the supposed 43200 seconds cause: RecoverableAnyAllException: dts-k-src: DTS-52110: SQLServerRecordExtractor Init Error: sqlserver-reader: DTS-52061: Failed to seek sqlserver position CriticalAnyAllException: sqlserver-reader: DTS-52061: Failed to seek sqlserver position CriticalAnyAllException: sqlserver-reader: DTS-52411: Not support fetch backup log MissActiveLogException: ERROR_MISS_TRANSACTION_LOG(timestamp:17376****)

DTS-RETRY-ERR-0419:Operating system error 38

可能原因:源库日志已被清理。

解决方法

  • 方法一:请联系源库的管理员(DBA)进行处理,然后重新启动DTS任务

  • 方法二:重新配置DTS任务。

报错示例

DTS-100047: retry 0 times, 1302 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: dts-k-src: DTS-52111: Increment Context Is Not Running..: CriticalAnyAllException: sqlserver-reader: DTS-52410: Sqlserver log fetch failed IOException: com.microsoft.sqlserver.jdbc.SQLServerException: Operating system error 38(Reached the end of the file.) on file "****" during SQLServerLogMgr::CheckLogBlockReadComplete. SQLServerException: Operating system error 38(Reached the end of the file.) on file "****" during SQLServerLogMgr::CheckLogBlockReadComplete.

DTS-RETRY-ERR-0420:operation:LOP_MODIFY_COLUMNS context:LCX_HEAP

可能原因:DTS任务的SQLServer增量同步模式参数配置为解析源库日志做增量同步(不支持堆表),且待同步或迁移的对象包含堆表。

解决方法:重新配置DTS任务,正确配置SQLServer增量同步模式参数。

报错示例

DTS-100047: retry 0 times, 1001 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: dts-k-src: DTS-52111: Increment Context Is Not Running..: CriticalAnyAllException: sqlserver-reader: DTS-52340: Serializer redo log entry failed RuntimeException: updateBackEntry: currentLsn:000535b0:00046fa0:**** operation:LOP_MODIFY_COLUMNS context:LCX_HEAP transactionID:0000:1a0**** allocUnitName: partitionId:7205****

DTS-RETRY-ERR-0421:operation:LOP_MODIFY_ROW context:LCX_HEAP

可能原因:DTS任务的SQLServer增量同步模式参数配置为解析源库日志做增量同步(不支持堆表),且待同步或迁移的对象包含堆表。

解决方法:重新配置DTS任务,正确配置SQLServer增量同步模式参数。

报错示例

DTS-100047: retry 0 times, 1103 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: dts-k-src: DTS-52111: Increment Context Is Not Running..: CriticalAnyAllException: sqlserver-reader: DTS-52340: Serializer redo log entry failed RuntimeException: updateBackEntry: currentLsn:00e0a112:00010a50:**** operation:LOP_MODIFY_ROW context:LCX_HEAP transactionID:0000:742****

DTS-RETRY-ERR-0422:oracle nodes changes, restart it

可能原因:源Oracle数据库的可用节点发生变化。

解决方法:重新启动DTS任务若异常无法解决,请通过钉钉(钉钉通讯客户端下载地址)进入到DTS客户交流钉钉群(群号:116655009709),进行咨询。

报错示例

DTS-100047: retry 0 times, 1101 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: dts-k-src: DTS-52111: Increment Context Is Not Running..: RecoverableAnyAllException: oracle-reader: DTS-52320: oracle nodes changes, restart it

DTS-RETRY-ERR-0423:Serializer redo log entry failed

可能原因:源库日志解析失败。

解决方法

  • 方法一:请联系源库的管理员(DBA)进行处理,然后重新启动DTS任务

  • 方法二:重新配置DTS任务。

报错示例

DTS-100047: retry 0 times, 1001 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: dts-k-src: DTS-52111: Increment Context Is Not Running..: CriticalAnyAllException: oracle-reader: DTS-52340: Serializer redo log entry failed ArrayIndexOutOfBoundsException: 1

DTS-RETRY-ERR-0424:serializeRow fail rowsetId (.*)? LSN = (.*)?. case by 12 ArrayIndexOutOfBoundsException: 12

可能原因:源库日志解析失败。

解决方法

  • 方法一:请联系源库的管理员(DBA)进行处理,然后重新启动DTS任务

  • 方法二:重新配置DTS任务。

报错示例

DTS-100047: retry 0 times, 1001 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: dts-k-src: DTS-52111: Increment Context Is Not Running..: CriticalAnyAllException: sqlserver-reader: DTS-52340: Serializer redo log entry failed CriticalAnyAllException: sqlserver-reader: DTS-52340: serializeRow fail rowsetId = 720575941715****, LSN = 00010c5c:00012****. case by 12 ArrayIndexOutOfBoundsException: 12

DTS-RETRY-ERR-0426:SQL Server (.*)? table cdc query back failed

可能原因:源库CDC功能异常。

解决方法

  • 方法一:请联系源库的管理员(DBA)进行处理,然后重新启动DTS任务

  • 方法二:重新配置DTS任务。

报错示例

DTS-100047: retry 0 times, 1001 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: dts-k-src: DTS-52111: Increment Context Is Not Running..: CriticalAnyAllException: sqlserver-reader: DTS-52340: Serial transaction log failed CriticalAnyAllException: sqlserver-reader: DTS-52343: SQL Server bigtree.dbo.intlroomstock table cdc query back failed CriticalAnyAllException: sqlserver-reader: DTS-52343: SQL Server bigtree.dbo.intlroomstock table cdc query back failed

DTS-RETRY-ERR-0427:SQL Server agent service not running, please restart it

可能原因:源库代理服务(Agent)异常。

解决方法:请联系源库的管理员(DBA)进行处理,然后重新启动DTS任务

报错示例

DTS-100047: retry 0 times, 1100 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: dts-k-src: DTS-52111: Increment Context Is Not Running..: CriticalAnyAllException: sqlserver-reader: DTS-52405: SQL Server agent service not running, please restart it

DTS-RETRY-ERR-0428:SQL Server did not return a response

可能原因:源库日志已被清理。

解决方法

  • 方法一:请联系源库的管理员(DBA)进行处理,然后重新启动DTS任务

  • 方法二:重新配置DTS任务。

报错示例

DTS-100047: retry 0 times, 5003 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: dts-k-src: DTS-52111: Increment Context Is Not Running..: CriticalAnyAllException: sqlserver-reader: DTS-52410: Sqlserver log fetch failed IOException: com.microsoft.sqlserver.jdbc.SQLServerException: SQL Server did not return a response. The connection has been closed. SQLServerException: SQL Server did not return a response. The connection has been closed.

DTS-RETRY-ERR-0429:Sqlserver log fetch failed

可能原因:源库日志已被清理。

解决方法

  • 方法一:请联系源库的管理员(DBA)进行处理,然后重新启动DTS任务

  • 方法二:重新配置DTS任务。

报错示例

DTS-100047: retry 0 times, 1001 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: dts-k-src: DTS-52111: Increment Context Is Not Running..: CriticalAnyAllException: sqlserver-reader: DTS-52410: Sqlserver log fetch failed IOException: java.lang.NumberFormatException: For input string:****

DTS-RETRY-ERR-0431:SQLServerLogMgr::CheckLogBlockReadComplete 期间文件(.*)?出现操作系统错误(.*)?已到文件结尾

可能原因:源库日志已被清理。

解决方法

  • 方法一:请联系源库的管理员(DBA)进行处理,然后重新启动DTS任务

  • 方法二:重新配置DTS任务。

报错示例

common: DTS-100047: retry 0 times, 1200 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: dts-k-src: DTS-52111: Increment Context Is Not Running..: CriticalAnyAllException: sqlserver-reader: DTS-52410: Sqlserver log fetch failed IOException: com.microsoft.sqlserver.jdbc.SQLServerException: 在 SQLServerLogMgr::CheckLogBlockReadComplete 期间文件“****”出现操作系统错误 38(已到文件结尾。)。 SQLServerException: 在 SQLServerLogMgr::CheckLogBlockReadComplete 期间文件“****”出现操作系统错误 38(已到文件结尾。)。

DTS-RETRY-ERR-0433:The SELECT permission was denied on the

可能原因:DTS任务使用的源库账号权限不足。

解决方法

  • 方法一:根据报错信息给数据库账号授予足够的权限,然后重新启动DTS任务

  • 方法二:使用权限充足的数据库账号配置DTS任务。

报错示例

DTS-100047: retry 0 times, 1001 seconds, which exceed the supposed 7200 seconds cause: CriticalAnyAllException: dts-k-src: DTS-52111: Increment Context Is Not Running..: CriticalAnyAllException: sqlserver-reader: DTS-52410: Sqlserver log fetch failed IOException: com.microsoft.sqlserver.jdbc.SQLServerException: The SELECT permission was denied on the object '****', database '****', schema 'sys'. SQLServerException: The SELECT permission was denied on the object '****', database '****', schema 'sys'.

DTS-RETRY-ERR-0434:uildPartitionMeta rowsetId=(.*)?

可能原因:源库日志解析失败。

解决方法

  • 方法一:请联系源库的管理员(DBA)进行处理,然后重新启动DTS任务

  • 方法二:重新配置DTS任务。

报错示例

DTS-100047: retry 0 times, 1001 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: dts-k-src: DTS-52111: Increment Context Is Not Running..: CriticalAnyAllException: sqlserver-reader: DTS-52340: Serializer redo log entry failed CriticalAnyAllException: sqlserver-reader: DTS-52420: uildPartitionMeta rowsetId=72057594083****8. case by null

DTS-RETRY-ERR-0435:UNSupport sqlserver simple recover mode

可能原因:源库日志恢复模式不为完整模式。

解决方法:请联系源库的管理员(DBA)修改日志恢复模式,然后重新配置DTS任务。

报错示例

DTS-100047: retry 0 times, 11410 seconds, which exceed the supposed 43200 seconds cause: RecoverableAnyAllException: dts-k-src: DTS-52110: SQLServerRecordExtractor Init Error: sqlserver-reader: DTS-52401: UNSupport sqlserver simple recover mode CriticalAnyAllException: sqlserver-reader: DTS-52401: UNSupport sqlserver simple recover mode

DTS-RETRY-ERR-0436:Valid thread redo log file in rac cluster

可能原因:源Oracle数据库的可用节点发生变化。

解决方法:重新启动DTS任务若异常无法解决,请通过钉钉(钉钉通讯客户端下载地址)进入到DTS客户交流钉钉群(群号:116655009709),进行咨询。

报错示例

DTS-52111: Increment Context Is Not Running..: cause: CriticalAnyAllException: oracle-reader: DTS-52320: Fetch oracle log failed FatalAnyAllException: common: DTS-100047: retry 0 times, 4404 seconds, which exceed the supposed 43200 seconds CriticalAnyAllException: oracle-reader: DTS-52322: Valid thread redo log file in rac cluster

DTS-RETRY-ERR-0437:OffsetOutOfRangeException: Offsets out of range with no configured reset policy for partitions

可能原因:DTS任务的当前位点不在增量数据采集模块的可用位点范围内。

解决方法

  • 方法一:重新配置DTS任务。

  • 方法二:使用修改位点功能,将DTS任务的当前位点修改到增量数据采集模块的可用位点范围内。

    重要

    修改位点可能会导致部分数据丢失。

报错示例

capture-dstore: DTS-51009: real poll source record failed
cause:
	OffsetOutOfRangeException: Offsets out of range with no configured reset policy for partitions: {cn_g****_dts_version2-0=34****}

DTS-RETRY-ERR-0438:DISABLE_WRITE

可能原因:目标库状态异常等原因,禁止数据写入。

解决方法:请联系目标库的管理员(DBA)进行处理,然后重新启动DTS任务

DTS-100047: retry 3438 times, 43207 seconds, which exceed the supposed 43200 seconds cause: TransactionReplicateException: transaction-replicate: DTS-70003: 2 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: ClickHouseEngine(2): meet error, insertSQL:insert into ****, error detail message:Code: 2002. DB::Exception: The write operations on the database instance is disabled. (DISABLE_WRITE) (version 23.8.16.1) , server ClickHouseNode [uri=http:****]@-1110610050 SQLException: Code: 2002. DB::Exception: The write operations on the database instance is disabled. (DISABLE_WRITE) (version 23.8.16.1) , server ClickHouseNode [uri=http:****]@-1110610050 IOException: Code: 2002. DB::Exception: The write operations on the database instance is disabled. (DISABLE_WRITE) (version 23.8.16.1)

DTS-RETRY-ERR-0441:com.fasterxml.jackson.core.JsonParseException: Illegal unquoted character

可能原因:任务对象中包含未转义的非法字符,常见于使用OpenAPI配置DTS任务时传入的DbList参数中。

解决方法:根据报错信息排查修改,然后重新启动DTS任务使用OpenAPI启动DTS任务

报错示例

DTS-100047: retry 0 times, 11009 seconds, which exceed the supposed 43200 seconds cause: RecoverableAnyAllException: dts-k-src: DTS-52110: MySQLRecordExtractor Init Error: null:reason=com.fasterxml.jackson.core.JsonParseException: Illegal unquoted character ((CTRL-CHAR, code 10)): has to be escaped using backslash to be included in name at [Source:****; line: 1, column: 11] ReaderException: null:reason=com.fasterxml.jackson.core.JsonParseException: Illegal unquoted character ((CTRL-CHAR, code 10)): has to be escaped using backslash to be included in name at [Source:**** line: 1, column: 11] JsonParseException: Illegal unquoted character ((CTRL-CHAR, code 10)): has to be escaped using backslash to be included in name at [Source:**** line: 1, column: 11]

DTS-RETRY-ERR-0442:mysql row image valid failed, miss

可能原因:源库的Binlog设置异常。

解决方法:请检查并正确设置源库的Binlog,然后重新启动DTS任务

报错示例

DTS-100047: retry 0 times, 1000 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: dts-k-src: DTS-52111: Increment Context Is Not Running..: mysql-reader: DTS-52230: mysql-reader: DTS-52230: mysql row image valid failed, miss 2, event: Header:****

DTS-RETRY-ERR-0444:ClickHouse error null returned from null

可能原因:目标ClickHouse实例无法正常连接。

解决方法:请确保DTS可以正常连接目标ClickHouse实例,然后重新启动DTS任务

报错示例

java.sql.SQLException: HTTP response -1 null (ClickHouse error null returned from null), server ClickHouseNode ****

DTS-RETRY-ERR-0447:ResourceNotFoundException

可能原因:目标表不存在。

解决方法:根据报错信息,手动在目标库创建与源库结构相同或兼容的表,然后重新启动DTS任务

报错示例

DTS-31007: get table **** detail info failed after retrying. cause: FatalAnyAllException: common: DTS-100047: retry 4233 times, 43203 seconds, which exceed the supposed 43200 seconds RecoverableAnyAllException: replicate-datahub: DTS-70002: get table **** detail info failed. ResourceNotFoundException: [httpStatus:404, requestId:202412310740249ed53a0a51e2**** errorCode:NoSuchProject, errorMessage:The specified project does not exist.]

DTS-RETRY-ERR-0448:NO_SUCH_COLUMN_IN_TABLE

可能原因:目标库和源库的表结构不一致,目标库指定的表中缺少列。

解决方法:根据报错信息,手动在目标库相应的表中添加缺失的列,然后重新启动DTS任务

报错示例

DTS-100047: retry 3336 times, 43211 seconds, which exceed the supposed 43200 seconds cause: TransactionReplicateException: transaction-replicate: DTS-70003: 2 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: ClickHouseEngine(2): meet error, insertSQL:insert into **** SQLException: Code: 16. DB::Exception: No such column newest_che**** in table ****

DTS-RETRY-ERR-0450:wrong redis password

可能原因:Redis实例的账号或密码错误。

解决方法:请使用正确的Redis账号和密码配置DTS任务。

报错示例

DTS-077002: Record Replicator initialization error. cause by [wrong redis password.] About more information in ****

DTS-RETRY-ERR-0451:ERR bad lua script for redis cluster

可能原因:写入到目标Redis实例的Lua脚本不符合要求。

解决方法:请根据Lua脚本规范修改源库的Lua脚本,或关闭目标库的script_check_enable参数,然后重新启动DTS任务或重新配置DTS任务。

报错示例

java.lang.RuntimeException: redis.clients.jedis.exceptions.JedisDataException: ERR bad lua script for redis cluster, first parameter of redis.call/redis.pcall must be a single literal string

DTS-RETRY-ERR-0452:JedisMovedDataException: MOVED

可能原因:数据无法写入到目标Redis实例。

解决方法:请确保目标Redis实例可以正常写入数据,然后重新启动DTS任务

报错示例

DTS-100047: retry 25 times, 1845 seconds, which exceed the supposed 1800 seconds cause: JedisMovedDataException: MOVED ****

DTS-RETRY-ERR-0453:seek by gbid failed

可能原因

解决方法

源库不支持断点续传。

重新配置DTS任务。

DTS任务失败过久,源库的Binlog已删除。

报错示例

DTS-31009: In process of processing data (recordRange: 27873049260****) failed cause: FatalAnyAllException: common: DTS-100047: retry 60 times, 600073 seconds, which exceed the supposed 43200 seconds RedisServerException: redis: DTS-10015: redis: DTS-10017: Command item length not start with *, -ERR seek by gbid failed UnexpectedFormatException: redis: DTS-10017: Command item length not start with *, -ERR seek by gbid failed

DTS-RETRY-ERR-0454:Command item length not start with

可能原因:源库执行了非标准的命令。

解决方法:重新启动DTS任务若异常无法解决,请通过钉钉(钉钉通讯客户端下载地址)进入到DTS客户交流钉钉群(群号:116655009709),进行咨询。

报错示例

DTS-31009: In process of processing data (recordRange: 27873049260****) failed cause: RedisServerException: redis: DTS-10015: redis: DTS-10017: Command item length not start with *, 4 UnexpectedFormatException: redis: DTS-10017: Command item length not start with *, 4

DTS-RETRY-ERR-0455:binlog-get client request seq (.*)? bigger than

可能原因:DTS服务出现异常。

解决方法:重新启动DTS任务若异常无法解决,请通过钉钉(钉钉通讯客户端下载地址)进入到DTS客户交流钉钉群(群号:116655009709),进行咨询。

报错示例

DTS-31009: In process of processing data (recordRange: 712574516379569****) failed cause: FatalAnyAllException: common: DTS-100047: retry 60 times, 606 seconds, which exceed the supposed 1800 seconds RedisServerException: redis: DTS-10015: redis: DTS-10009: redis: DTS-10013: -ERR binlog-get client request seq 18960**** bigger than server seq 163**** RedisCannotRetryException: redis: DTS-10009: redis: DTS-10013: -ERR binlog-get client request seq 18960**** bigger than server seq 163**** RedisReFullSyncException: redis: DTS-10013: -ERR binlog-get client request seq 18960**** bigger than server seq 163****

DTS-RETRY-ERR-0456:Unsupported encoding: utf8mb3

可能原因:当前DTS任务不支持utf8mb3编码。

解决方法:请联系源库的管理员(DBA)修改编码,然后重新配置DTS任务。

报错示例

DTS-073602: Record Converter failed for the record of table drds.multi_****. cause by [Unsupported encoding: utf8mb3] About more information in ****

DTS-RETRY-ERR-0457:unsupported RDB_TYPE_MODULE_

可能原因:DTS不支持RDB格式的数据。

解决方法:重新配置DTS任务,任务对象中不包含RDB格式的数据。

报错示例

DTS-31009: In process of processing data (recordRange: 446037242650873****) failed cause: FatalAnyAllException: common: DTS-100047: retry 60 times, 606 seconds, which exceed the supposed 43200 seconds RedisServerException: redis: DTS-10015: redis: DTS-10019: [unsupported RDB_TYPE_MODULE_2][exhash---]key:****

DTS-RETRY-ERR-0458:redis aof is off

可能原因:源Redis实例未开启AOF。

解决方法手动开启AOF(将appendonly的值修改为yes),然后重新启动DTS任务

报错示例

DTS-31009: In process of processing data (recordRange: 13936524630****) failed cause: FatalAnyAllException: common: DTS-100047: retry 60 times, 606 seconds, which exceed the supposed 43200 seconds RedisServerException: redis: DTS-10015: redis: DTS-10017: Command item length not start with *, -ERR redis aof is off UnexpectedFormatException: redis: DTS-10017: Command item length not start with *, -ERR redis aof is off

DTS-RETRY-ERR-0459:nvalid event type

可能原因:源库的Binlog异常,导致DTS无法进行解析。

解决方法

  • 方法一:请联系源库的管理员(DBA)进行处理,然后重新启动DTS任务

  • 方法二:重新配置DTS任务。

报错示例

DTS-100047: retry 0 times, 1001 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: dts-k-src: DTS-52111: Increment Context Is Not Running..: mysql-reader: DTS-52200: process error failed cause: IOException: java.sql.SQLException: nvalid event type [binlog-102****] SQLException: nvalid event type [binlog-102****] CriticalAnyAllException: mysql-reader: DTS-52200: process error failed IOException: java.sql.SQLException: nvalid event type [binlog-102****] SQLException: nvalid event type [binlog-102****]

DTS-RETRY-ERR-0460:valid binlog checksum

可能原因:源库的Binlog异常,导致DTS无法进行解析。

解决方法

  • 方法一:请联系源库的管理员(DBA)进行处理,然后重新启动DTS任务

  • 方法二:重新配置DTS任务。

报错示例

DTS-100047: retry 0 times, 1001 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: dts-k-src: DTS-52111: Increment Context Is Not Running..: mysql-reader: DTS-52200: process error failed cause: IOException: reader: DTS-52232: Failed to valid binlog checksum. cause: ****

DTS-RETRY-ERR-0461:No enum constant com.alibaba.amp.any.redis.writer.ExtendRedisCommand

可能原因:DTS无法解析源Redis实例中的执行命令。

解决方法:重新启动DTS任务若异常无法解决,请通过钉钉(钉钉通讯客户端下载地址)进入到DTS客户交流钉钉群(群号:116655009709),进行咨询。

报错示例

DTS-31009: In process of processing data (recordRange: 657948551556366****) failed cause: FatalAnyAllException: common: DTS-100047: retry 0 times, 2392099 seconds, which exceed the supposed 43200 seconds IllegalArgumentException: No enum constant com.alibaba.amp.any.redis.writer.ExtendRedisCommand.

DTS-RETRY-ERR-0462:polardbx(.*)?server error by

可能原因:源PolarDB-X实例的服务异常。

解决方法:请确保PolarDB-X实例状态正常,且DTS可以正常连接并读取源库的数据,然后重新启动DTS任务

报错示例

DTS-52110: MySQLRecordExtractor Init Error: mysql-reader: DTS--0001: execute sql show binary logs failed, case by common: DTS-100047: retry 0 times, 100 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: mysql-reader: DTS--0001: execute sql show binary logs failed, case by common: DTS-100047: retry 0 times, 100 seconds, which exceed the supposed 43200 seconds FatalAnyAllException: common: DTS-100047: retry 0 times, 100 seconds, which exceed the supposed 43200 seconds SQLException: ****[polardbx]ERR-CODE: [TDDL-4700][ERR_SERVER] server error by UNAVAILABLE: io exception

DTS-RETRY-ERR-0463:polardbx(.*)?UNAVAILABLE

可能原因:源PolarDB-X实例的服务异常。

解决方法:请确保PolarDB-X实例状态正常,且DTS可以正常连接并读取源库的数据,然后重新启动DTS任务

报错示例

DTS-52110: MySQLRecordExtractor Init Error: mysql-reader: DTS--0001: execute sql show binary logs failed, case by common: DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: mysql-reader: DTS--0001: execute sql show binary logs failed, case by common: DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 43200 seconds FatalAnyAllException: common: DTS-100047: retry 0 times, 0 seconds, which exceed the supposed 43200 seconds SQLException: ****[polardbx]UNAVAILABLE: io exception

DTS-RETRY-ERR-0464:redis temporary failure

可能原因:目标Redis实例异常。

解决方法:请联系目标库的管理员(DBA)进行处理,然后重新启动DTS任务

报错示例

DTS-100047: retry 60 times, 600 seconds, which exceed the supposed 43200 seconds cause: RedisCannotRetryException: redis: DTS-10009: Exception in stage: [begin], errMsg: ERR redis temporary failure (ErrorCode 7002) JedisDataException: ERR redis temporary failure (ErrorCode 7002)

DTS-RETRY-ERR-0465:server closed connection

可能原因:目标Redis实例异常。

解决方法:请联系目标库的管理员(DBA)进行处理,然后重新启动DTS任务

报错示例

DTS-31009: In process of processing data (recordRange: 27873049260****) failed cause: FatalAnyAllException: common: DTS-100047: retry 60 times, 606 seconds, which exceed the supposed 43200 seconds RedisServerException: redis: DTS-10015: redis: DTS-10017: Command item length not start with *, -ERR server closed connection UnexpectedFormatException: redis: DTS-10017: Command item length not start with *, -ERR server closed connection

DTS-RETRY-ERR-0466:redis (.*)? Connection timed out

可能原因:目标Redis实例异常。

解决方法:请联系目标库的管理员(DBA)进行处理,然后重新启动DTS任务

报错示例

DTS-31009: In process of processing data (recordRange: 27873049260****) failed cause: FatalAnyAllException: common: DTS-100047: retry 60 times, 8141 seconds, which exceed the supposed 43200 seconds RedisClientInitiationException: redis: DTS-10010: null ConnectException: Connection timed out (Connection timed out)

DTS-RETRY-ERR-0467:JedisDataException: ERR unknown command

可能原因:由于源库与目标库之间的版本差异较大等原因,导致存在命令不兼容的情况。例如,源Redis实例存在SET PXAT命令(仅6.2及以上版本的Redis实例支持),而目标Redis实例的版本低于6.2。

解决方法:请联系目标Redis实例的管理员(DBA)升级该实例的版本,然后重新启动DTS任务

报错示例

DTS-100047: retry 606 times, 43244 seconds, which exceed the supposed 43200 seconds cause: JedisDataException: ERR unknown command 'BF.LOADCHUNK'

DTS-RETRY-ERR-0468:JedisDataException: ERR syntax error

可能原因:由于源库与目标库之间的版本差异较大等原因,导致存在命令不兼容的情况。例如,源Redis实例存在SET PXAT命令(仅6.2及以上版本的Redis实例支持),而目标Redis实例的版本低于6.2。

解决方法:请联系目标Redis实例的管理员(DBA)升级该实例的版本,然后重新启动DTS任务

报错示例

DTS-100047: retry 616 times, 43210 seconds, which exceed the supposed 43200 seconds cause: JedisDataException: ERR syntax error

DTS-RETRY-ERR-0469:STATUS_READ_ONLY

可能原因

解决方法

目标库处于只读模式。

将源库设置为可读写模式,然后重新启动DTS任务

目标库是只读数据库。

使用可读写的目标库,重新配置DTS任务。

报错示例

Record Replicator error in table **** by [java.sql.SQLException: ****[cz_delivery]ERR-CODE: [TDDL-4633][ERR_DB_STATUS_READ_ONLY] Database is read-only, only read sql are supported. ] About more information in ****

DTS-RETRY-ERR-0470:ERR binlog-get need full sync for client

可能原因:DTS任务未配置全量同步或迁移,且源RedisAOF日志已被清理。

解决方法:重新启动DTS任务。若异常无法解决,则需重新配置DTS任务。

报错示例

DTS-31009: In process of processing data (recordRange: 359634877462609****) failed cause: FatalAnyAllException: common: DTS-100047: retry 60 times, 606 seconds, which exceed the supposed 43200 seconds RedisServerException: redis: DTS-10015: redis: DTS-10009: redis: DTS-10013: -ERR binlog-get need full sync for client(****) RedisCannotRetryException: redis: DTS-10009: redis: DTS-10013: -ERR binlog-get need full sync for client(****)) RedisReFullSyncException: redis: DTS-10013: -ERR binlog-get need full sync for client****

DTS-RETRY-ERR-0471:multi-statement is disabled

可能原因:目标AnalyticDB MySQL 3.0集群未开启Multi-statement功能。

解决方法:请在目标AnalyticDB MySQL 3.0集群中执行SET ADB_CONFIG ALLOW_MULTI_QUERIES=true;命令,手动开启Multi-Statement功能,然后重新启动DTS任务

报错示例

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: RuntimeException: Table **** with columns **** and batch exception is {[9001, 202504190815280210170210580315106****] multi-statement is disabled} SQLException: [9001, 202504190815280210170210580315106****] multi-statement is disabled

DTS-RETRY-ERR-0472:ColumnNotFoundException

可能原因:目标库和源库的表结构不一致,目标库指定的表中缺少列。

解决方法:根据报错信息,手动在目标库相应的表中添加缺失的列,然后重新启动DTS任务

报错示例

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: LindormException: Failed doing UPSERT on ****, caused by com.alibaba.lindorm.client.exception.ColumnNotFoundException: Column **** not found for table **** at ****.RPC(Unknown Source) at com.alibaba.lindorm.client.core.meta.TableMeta.resolveColumn(TableMeta.java:1615) at com.alibaba.lindorm.server.ldserver.queryprocessor.compile.UpsertCompiler.resolveColumnValues(UpsertCompiler.java:176) at com.alibaba.lindorm.server.ldserver.queryprocessor.compile.UpsertCompiler.resolveColumnValues(UpsertCompiler.java:148) at com.alibaba.lindorm.server.ldserver.queryprocessor.compile.UpsertCompiler.compile(UpsertCompiler.java:90) at com.alibaba.lindorm.server.ldserver.queryprocessor.QueryProcessor.compileUpsertWithRetry(QueryProcessor.java:5141) at com.alibaba.lindorm.server.ldserver.queryprocessor.QueryProcessor.doUpsert(QueryProcessor.java:5109) at com.alibaba.lindorm.server.ldserver.queryprocessor.QueryProcessor.upsert(QueryProcessor.java:5004) at com.alibaba.lindorm.server.ldserver.LDServer.upsert(LDServer.java:10027) at com.alibaba.lindorm.server.acl.ACLProtocolProxy.upsert(ACLProtocolProxy.java:824) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.alibaba.lindorm.server.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:436) at com.alibaba.lindorm.server.ipc.LindormRPCServer$Handler.run(LindormRPCServer.java:3557)

DTS-RETRY-ERR-0473:MongoNotPrimaryException

可能原因:目标MongoDB实例非Primary节点,导致数据无法写入。

解决方法:重新配置DTS任务,且目标库使用MongoDB实例的Primary节点或高可用地址

报错示例

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: SQLException: com.mongodb.MongoNotPrimaryException: Command failed with error 10107 (NotMaster):  **** MongoNotPrimaryException: Command failed with error 10107 (NotMaster): 'not master' on server 218.17.XX.XX:XXX. The full response is ****

DTS-RETRY-ERR-0474:Connection timed out

可能原因:DTS与数据库的网络通信超时。

解决方法:请确保数据库的状态正常,且DTS可以正常连接该数据库(检查数据库的连接设置、白名单设置、账号和密码的正确性等),然后重新启动DTS任务

报错示例

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: SQLException: com.mongodb.MongoSocketOpenException: Exception opening socket MongoSocketOpenException: Exception opening socket ConnectException: Connection timed out (Connection timed out)

DTS-RETRY-ERR-0475:key too large to index

可能原因:写入到目标库的数据超出了MongoDB索引键的大小限制。

解决方法:修改或取消目标库的索引限制,然后重新启动DTS任务

报错示例

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: SQLException: com.mongodb.MongoWriteException: Write operation error on server 10.30.XX.XX:XXX. Write error: WriteError{code=17280, message='WiredTigerIndex::insert: key too large to index, failing 4789 ****, details={}}. MongoWriteException: Write operation error on server 10.30.201.77:13960. Write error: WriteError{code=17280, message='WiredTigerIndex::insert: key too large to index, failing 4789 ****

DTS-RETRY-ERR-0476:Timed out after 3600000 ms while waiting to connect

可能原因:DTS与数据库的网络通信超时。

解决方法:请确保数据库的状态正常,且DTS可以正常连接该数据库(检查数据库的连接设置、白名单设置、账号和密码的正确性等),然后重新启动DTS任务

报错示例

DTS-31007: fetch and merge schemas failed cause: RuntimeException: java.sql.SQLException: com.mongodb.MongoTimeoutException: Timed out after 3600000 ms while waiting to connect. Client view of cluster state is {type=UNKNOWN, servers=[{address=10.45.XX.XX:XXX, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoCommandException: Command failed with error 96 (OperationFailed): 'fail to satisfy horizon { horizonName: [ "public" ] }' on server 10.45.XX.XX:XXX. The full response is {"operationTime": {"$timestamp": {"t": 174236****, "i": 74}}, "ok": 0.0, "errmsg": "fail to satisfy horizon { horizonName: [ \"public\" ] }", "code": 96, "codeName": "OperationFailed", "$gleStats": {"lastOpTime": {"$timestamp": {"t": 0, "i": 0}}, "electionId": {"$oid": "7fffffff000000000000****"}}, "lastCommittedOpTime": {"$timestamp": {"t": 174236****, "i": 74}}, "$configServerState": {"opTime": {"ts": {"$timestamp": {"t": 174236****, "i": 1}}, "t": {"$numberLong": "1"}}}, "$clusterTime": {"clusterTime": {"$timestamp": {"t": 174236****, "i": 74}}, "signature": {"hash": {"$binary": "+YoeSRHMFBv0DGztTyx/2EWm****", "$type": "00"}, "keyId": {"$numberLong": "744224807270639****"}}}}}}] SQLException: com.mongodb.MongoTimeoutException: Timed out after 3600000 ms while waiting to connect. Client view of cluster state is {type=UNKNOWN, servers=[{address=10.45.XX.XX:XXX, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoCommandException: Command failed with error 96 (OperationFailed): 'fail to satisfy horizon { horizonName: [ "public" ] }' on server 10.45.XX.XX:XXX. The full response is {"operationTime": {"$timestamp": {"t": 174236****, "i": 74}}, "ok": 0.0, "errmsg": "fail to satisfy horizon { horizonName: [ \"public\" ] }", "code": 96, "codeName": "OperationFailed", "$gleStats": {"lastOpTime": {"$timestamp": {"t": 0, "i": 0}}, "electionId": {"$oid": "7fffffff000000000000****"}}, "lastCommittedOpTime": {"$timestamp": {"t": 174236****, "i": 74}}, "$configServerState": {"opTime": {"ts": {"$timestamp": {"t": 174236****, "i": 1}}, "t": {"$numberLong": "1"}}}, "$clusterTime": {"clusterTime": {"$timestamp": {"t": 174236****, "i": 74}}, "signature": {"hash": {"$binary": "+YoeSRHMFBv0DGztTyx/2EWm****", "$type": "00"}, "keyId": {"$numberLong": "744224807270639****"}}}}}}] MongoTimeoutException: Timed out after 3600000 ms while waiting to connect. Client view of cluster state is ****

DTS-RETRY-ERR-0477:operation was interrupted

可能原因

解决方法

DTS在数据库中执行命令时,操作被中断。

请勿限制DTS在数据库中执行命令,然后重新启动DTS任务

数据库剩余可用资源限制导致DTS任务异常。

升级数据库规格,然后重新启动DTS任务

报错示例

DTS-31009: In process of processing data (recordRange: 123456) failed cause: FatalAnyAllException: common: DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds RuntimeException: com.mongodb.MongoQueryException: Query failed with error code 11602 and error message 'operation was interrupted' on server 10.48.XX.XX:XXX MongoQueryException: Query failed with error code 11602 and error message 'operation was interrupted' on server 10.48.XX.XX:XXX

DTS-RETRY-ERR-0478:Couldn't get a connection within the time limit

可能原因:DTS与数据库的网络通信超时。

解决方法:请确保数据库的状态正常,且DTS可以正常连接该数据库(检查数据库的连接设置、白名单设置、账号和密码的正确性等),然后重新启动DTS任务

报错示例

DTS-31009: In process of processing data (recordRange: 123456) failed cause: FatalAnyAllException: common: DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds RuntimeException: com.mongodb.MongoQueryException: Query failed with error code 202 and error message 'Couldn't get a connection within the time limit' on server 10.48.XX.XX:XXX MongoQueryException: Query failed with error code 202 and error message 'Couldn't get a connection within the time limit' on server 10.48.XX.XX:XXX

DTS-RETRY-ERR-0479:Connection was closed

可能原因

解决方法

DTS与数据库的连接被中断。

请勿限制DTS连接数据库,确保DTS可以正常连接数据库,然后重新启动DTS任务

数据库剩余可用资源限制导致DTS任务异常。

升级数据库规格,然后重新启动DTS任务

报错示例

DTS-31009: In process of processing data (recordRange: 123456) failed cause: FatalAnyAllException: common: DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds RuntimeException: com.mongodb.MongoQueryException: Query failed with error code 6 and error message 'Error connecting to 192.168.XX.XX:XXX :: caused by :: Connection was closed' on server 10.48.XX.XX:XXX MongoQueryException: Query failed with error code 6 and error message 'Error connecting to 192.168.XX.XX:XXX :: caused by :: Connection was closed' on server 10.48.XX.XX:XXX

DTS-RETRY-ERR-0480:stream truncated

可能原因

解决方法

DTS与数据库的连接被中断。

请勿限制DTS连接数据库,确保DTS可以正常连接数据库,然后重新启动DTS任务

数据库剩余可用资源限制导致DTS任务异常。

升级数据库规格,然后重新启动DTS任务

报错示例

DTS-31009: In process of processing data (recordRange: 123456) failed cause: FatalAnyAllException: common: DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds RuntimeException: com.mongodb.MongoQueryException: Query failed with error code 9001 and error message 'stream truncated' on server 10.48.XX.XX:XXX MongoQueryException: Query failed with error code 9001 and error message 'stream truncated' on server 10.48.XX.XX:XXX

DTS-RETRY-ERR-0481:because it does not exist or you do not have permissions.

可能原因

解决方法

目标表不存在。

请确保目标库状态正常且可以正常连接、目标库中用于接收数据的表存在、DTS任务所使用的目标库账号权限充足,然后重新启动DTS任务

DTS任务使用的目标库账号权限不足。

  • 方法一:根据报错信息给数据库账号授予足够的权限,然后重新启动DTS任务

  • 方法二:使用权限充足的数据库账号配置DTS任务。

报错示例

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: SQLServerException: Cannot find the object "ManyStores_GoodsHelper.dbo.CacheData" because it does not exist or you do not have permissions.

DTS-RETRY-ERR-0482:Timeout, query has reached the maximum query timeout (.*)? maybe you can adjust the session variable ob_query_timeout or query_timeout hint, and try again.

可能原因:DTS在数据库中进行查询操作超时。

解决方法:适当调大数据库的ob_query_timeoutquery_timeout参数,然后重新启动DTS任务

报错示例

DTS-31009: In process of processing data (recordRange: 123456) failed cause: FatalAnyAllException: common: DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds CriticalAnyAllException: framework: DTS-31009: read source data error SQLException: Timeout, query has reached the maximum query timeout: 1800000000(us), maybe you can adjust the session variable ob_query_timeout or query_timeout hint, and try again.

DTS-RETRY-ERR-0483:Document contains at least one immense term

可能原因:写入到ElasticSearch实例的数据长度超过了该ElasticSearch实例的限制,导致数据无法写入。

解决方法

  • 方法一:根据报错信息,修改ElasticSearch实例的相关限制,然后重新启动DTS任务

  • 方法二:

    • 同步实例:使用修改同步对象功能移除导致报错的对象,然后重新启动DTS任务

    • 迁移实例:重新配置迁移任务,待迁移的对象不选择超过ElasticSearch实例相关限制的对象。

报错示例

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: IOException: es: DTS-10035: Document contains at least one immense term in field="****" (whose UTF8 encoding is longer than the max length 32766), all of which were skipped. Please correct the analyzer to not produce such terms. The prefix of the first immense term is: **** original message: bytes can be at most 32766 in length; got 65535, bytes can be at most 32766 in length; got 65535 CriticalAnyAllException: es: DTS-10035: Document contains at least one immense term in field="****" (whose UTF8 encoding is longer than the max length 32766), all of which were skipped. Please correct the analyzer to not produce such terms. The prefix of the first immense term is: ****, original message: bytes can be at most 32766 in length; got 65535, bytes can be at most 32766 in length; got 65535

DTS-RETRY-ERR-0484:Illegal pattern character

可能原因:写入到ElasticSearch实例的数据存在问题(不符合要求),导致数据无法写入。

解决方法

  • 方法一:根据报错信息和源库的表结构,修改目标ElasticSearch实例的结构,使其兼容待写入的数据,然后重新启动DTS任务

  • 方法二:

    • 同步实例:使用修改同步对象功能移除导致报错的对象,然后重新启动DTS任务

    • 迁移实例:重新配置迁移任务,待迁移的对象不选择超过ElasticSearch实例相关限制的对象。

报错示例

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: IllegalArgumentException: Illegal pattern character 't'

DTS-RETRY-ERR-0485:failed to parse

可能原因:写入到ElasticSearch实例的数据存在问题(不符合要求),导致数据无法写入。

解决方法

  • 方法一:根据报错信息和源库的表结构,修改目标ElasticSearch实例的结构,使其兼容待写入的数据,然后重新启动DTS任务

  • 方法二:

    • 同步实例:使用修改同步对象功能移除导致报错的对象,然后重新启动DTS任务

    • 迁移实例:重新配置迁移任务,待迁移的对象不选择超过ElasticSearch实例相关限制的对象。

报错示例

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: IOException: es: DTS-10035: [1:39] failed to parse field [topic_id] of type [integer] in document with id '2'. Preview of field's value: 'topic_1', For input string: "topic_1" CriticalAnyAllException: es: DTS-10035: [1:39] failed to parse field [topic_id] of type [integer] in document with id '2'. Preview of field's value: 'topic_1', For input string: "topic_1"

DTS-RETRY-ERR-0486:out of range of

可能原因:写入到ElasticSearch实例的数据超过了该ElasticSearch实例的范围限制,导致数据无法写入。

解决方法

  • 方法一:根据报错信息和源库的表结构,修改目标ElasticSearch实例的结构,使其兼容待写入的数据,然后重新启动DTS任务

  • 方法二:

    • 同步实例:使用修改同步对象功能移除导致报错的对象,然后重新启动DTS任务

    • 迁移实例:重新配置迁移任务,待迁移的对象不选择超过ElasticSearch实例相关限制的对象。

报错示例

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: IOException: es: DTS-10035: [1:7] failed to parse field [id] of type [integer] in document with id '190480000000000****'. Preview of field's value: '190480000000000****', [1:26] Numeric value (190480000000000****) out of range of int (-2147483648 - 2147483647) at **** CriticalAnyAllException: es: DTS-10035: [1:7] failed to parse field [id] of type [integer] in document with id '190480000000000****'. Preview of field's value: **** out of range of int (-2147483648 - 2147483647) at ****

DTS-RETRY-ERR-0487:rejected execution of processing

可能原因:由于目标ElasticSearch实例状态异常等原因,导致数据无法写入。

解决方法:请确保目标ElasticSearch实例状态正常,且DTS可以正常连接,然后重新启动DTS任务

报错示例

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: IOException: es: DTS-10035: rejected execution of processing of [15623****][indices:data/write/bulk[s][p]]: request: BulkShardRequest [[mysql_binlog_wxwork_message_****_dts][0]] containing [660] requests, target allocation id: fcZXWt8sT-2FC87vOY****, primary term: 1 on EsThreadPoolExecutor[name = XOh****/write, queue capacity = 200, org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor@4b94****[Running, pool size = 4, active threads = 4, queued tasks = 200, completed tasks = 266****]] CriticalAnyAllException: es: DTS-10035: rejected execution of processing of [15623****][indices:data/write/bulk[s][p]]: request: BulkShardRequest [[mysql_binlog_wxwork_message_****_dts][0]] containing [660] requests, target allocation id: fcZXWt8sT-2FC87vOY****, primary term: 1 on EsThreadPoolExecutor[name = XOhj****/write, queue capacity = 200, org.elasticsearch.common.util.concurrent.EsThreadPoolExecutor@4b94****[Running, pool size = 4, active threads = 4, queued tasks = 200, completed tasks = 266****]]

DTS-RETRY-ERR-0488:listener timeout after waiting

可能原因:DTS与数据库的网络通信超时。

解决方法:请确保数据库的状态正常,且DTS可以正常连接该数据库(检查数据库的连接设置、白名单设置、账号和密码的正确性等),然后重新启动DTS任务

报错示例

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: IOException: java.io.IOException: listener timeout after waiting for [30000] ms IOException: listener timeout after waiting for [30000] ms

DTS-RETRY-ERR-0489:Failed to parse

可能原因:写入到ElasticSearch实例的数据存在问题(不符合要求),导致数据无法写入。

解决方法

  • 方法一:根据报错信息和源库的表结构,修改目标ElasticSearch实例的结构,使其兼容待写入的数据,然后重新启动DTS任务

  • 方法二:

    • 同步实例:使用修改同步对象功能移除导致报错的对象,然后重新启动DTS任务

    • 迁移实例:重新配置迁移任务,待迁移的对象不选择超过ElasticSearch实例相关限制的对象。

报错示例

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: IOException: org.elasticsearch.client.ResponseException: POST **** Request { "error" : { "root_cause" : [ { "type" : "parsing_exception", "reason" : "Failed to parse object: expecting token of type [VALUE_NUMBER] but found [END_OBJECT]", "line" : 1, "col" : 78 } ], "type" : "mapper_parsing_exception", "reason" : "failed to parse", "caused_by" : { "type" : "parsing_exception", "reason" : "Failed to parse object: expecting token of type [VALUE_NUMBER] but found [END_OBJECT]", "line" : 1, "col" : 78 } }, "status" : 400 } ResponseException: POST **** Request { "error" : { "root_cause" : [ { "type" : "parsing_exception", "reason" : "Failed to parse object: expecting token of type [VALUE_NUMBER] but found [END_OBJECT]", "line" : 1, "col" : 78 } ], "type" : "mapper_parsing_exception", "reason" : "failed to parse", "caused_by" : { "type" : "parsing_exception", "reason" : "Failed to parse object: expecting token of type [VALUE_NUMBER] but found [END_OBJECT]", "line" : 1, "col" : 78 } }, "status" : 400 }

DTS-RETRY-ERR-0490:write record to fc failed

可能原因:数据无法写入到函数计算FC。

解决方法:请根据DTSFC的报错信息进行修复,然后重新启动DTS任务

报错示例

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: fc: DTS-66805: write record to fc failed

DTS-RETRY-ERR-0491:cancelled by global deadlock detector

可能原因:数据写入到目标库时遇到死锁。例如,存在DTS外的其他数据源向目标库写入数据。

解决方法:请确保目标库无死锁,然后重新启动DTS任务

报错示例

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: full-greenplum: DTS-65708: copy error, recordRange={id:296500267175431****,schema:pos_report.ods_kbbas_acl_****_new,indexName:,fields:[id BIGINT not nullable primary unique],leftValues:[null],rightValues:[null],partition:null}, copySql=/* DTS-full-u50k3602p8x**** *//* DTS-full-u50k3602p8x**** FROM STDIN DELIMITER '|' ESCAPE '\' CSV QUOTE '"' DO on conflict DO update PSQLException: ERROR: canceling statement due to user request: "cancelled by global deadlock detector"

DTS-RETRY-ERR-0492:tuple concurrently updated

可能原因:在DTS向目标库写入数据时,存在其他事务等同时更新同一行数据,从而导致并发冲突。

解决方法:请确保目标库中没有其他写入操作,然后重新启动DTS任务

报错示例

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: full-greenplum: DTS-65708: copy error, recordRange=**** DTS-full-n4tm3g4ud8d****  FROM STDIN DELIMITER '|' ESCAPE '\' CSV QUOTE '"' DO on conflict DO update PSQLException: ERROR: tuple concurrently updated (heapam.c:5053)

DTS-RETRY-ERR-0493:MySQLQueryInterruptedException: Query execution was interrupted

可能原因

解决方法

DTS在数据库中执行查询命令时,操作被中断。

请勿限制DTS在数据库中执行命令,然后重新启动DTS任务

数据库剩余可用资源限制导致DTS任务异常。

升级数据库规格,然后重新启动DTS任务

报错示例

DTS-31009: In process of processing data (recordRange: 123456) failed cause: FatalAnyAllException: common: DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds CriticalAnyAllException: framework: DTS-31009: read source data error MySQLQueryInterruptedException: Query execution was interrupted

DTS-RETRY-ERR-0494:query is timeout, killed by timeout checker

可能原因:DTS在源库中执行查询操作超时。

解决方法:适当调大源库查询SQL的运行超时设置,然后重新启动DTS任务

报错示例

DTS-31009: In process of processing data (recordRange: 123456) failed cause: FatalAnyAllException: common: DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds CriticalAnyAllException: framework: DTS-31009: read source data error SQLException: errCode = 2, detailMessage = query is timeout, killed by timeout checker

DTS-RETRY-ERR-0495:sent packet length (.*)? exceeds the allowed maximum

可能原因:写入到目标PolarDB-X实例的单条数据量过大,超过了该实例的限制。即max_allowed_packet的值小于packet的实际值。

解决方法:适当调大目标PolarDB-X实例的max_allowed_packet参数值,然后重新启动DTS任务

报错示例

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: BatchUpdateException: **** sent packet length (71542218) exceeds the allowed maximum (67108864). SQLException: [19d663b3ba00****][10.88.XX.XX:XXX][sassrada]ERR-CODE: [TDDL-10000][ERR_X_PROTOCOL_BAD_PACKET] X-NIO-Client **** sent packet length (71542218) exceeds the allowed maximum (67108864).

DTS-RETRY-ERR-0496:split number should

可能原因:MaxCompute中表的count值返回负数。

解决方法:请联系MaxCompute的技术支持人员进行处理。

报错示例

DTS-31004: split number should > 1 expectSliceNumber=[-279285].

DTS-RETRY-ERR-0497:Table not found

可能原因:目标表不存在。

解决方法:根据报错信息,手动在目标库创建与源库结构相同或兼容的表,然后重新启动DTS任务

报错示例

DTS-31007: fetch and merge schemas failed cause: RuntimeException: com.aliyun.odps.ReloadException: ODPS-0130131:Table not found - **** table not found ReloadException: ODPS-0130131:Table not found - **** table not found NoSuchObjectException: ODPS-0130131:Table not found - ****

DTS-RETRY-ERR-0498:The download session is expired.Session timed out. Too much time elapsed since it was created.

可能原因:目标MaxCompute响应超时。

解决方法:请确保目标MaxCompute的状态正常且可以正常连接,然后重新启动DTS任务

报错示例

DTS-31009: In process of processing data (recordRange: 123456) failed cause: CriticalAnyAllException: odps: DTS-11014: odps getRecordReader error,**** FatalAnyAllException: common: DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds TunnelException: RequestId=20250306031732d1e1db0b047****, ErrorCode=StatusConflict, ErrorMessage=The download session is expired.Session timed out. Too much time elapsed since it was created.

DTS-RETRY-ERR-0499:failed to set the requested LC_COLLATE value

可能原因:目标PolarDB PostgreSQL版(兼容Oracle)集群与源Oracle存在兼容性有问题(字符集排序方式不匹配)。

解决方法:请联系PolarDB PostgreSQL版(兼容Oracle)集群的技术支持人员进行处理。

报错示例

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: framework: DTS-30011: currentRunningSQL: /* DTS-full-sgxa3837j3w**** */insert into **** values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?) on conflict do nothing,currentRow:**** values **** on conflict do nothing was aborted: ERROR: failed to set the requested LC_COLLATE value **** values **** on conflict do nothing was aborted: ERROR: failed to set the requested LC_COLLATE value ****'] Call getNextException to see other errors in the batch. PSQLException: ERROR: failed to set the requested LC_COLLATE value ['****']

DTS-RETRY-ERR-0500:invalid input syntax for type timestamp

可能原因:ETL的数据处理语句填写错误,导致ETL执行失败。

解决方法

报错示例

DTS-100047: retry 1 times, 43200 seconds, which exceed the supposed 43200 seconds cause: CriticalAnyAllException: full-postgresql: DTS-65708: copy error, recordRange={id:839702689396188****,schema:public.acc_syncattendance,indexName:,fields:[ID DECIMAL not nullable primary unique default],leftValues:[null],rightValues:[109476],partition:null}, copySql=**** PSQLException: ERROR: invalid input syntax for type timestamp: "2:22:38" Where: COPY acc_syncattendance, line 1, column synctime: "2:22:38"