本文介绍DTS的常见错误码、报错原因及排查方法,帮助您进行初步的报错排查。文中提及的报错示例仅供参考,实际遇到的报错可能不完全一样。
错误码 | 报错说明 | 报错示例 | 可能的解决方法 |
DTS-51009 | DTS写入模块读取DTS缓存模块时,显示连接超时。 | DTS-31009: In process of processing data (recordRange: 5799806987638145024) failed cause: CriticalAnyAllException: capture-dstore: DTS-51009: Failed to fetch records from dstore TimeoutException: Failed to get offsets by times in 120000 ms |
|
DTS-50019 | DTS写入模块读取不到DTS缓存模块中指定时间点的数据。 | DTS-31009: In process of processing data (recordRange: 9117052685537771520) failed cause: CriticalAnyAllException: capture-dstore: DTS-51009: Failed to fetch records from dstore CriticalAnyAllException: capture-dstore: DTS-50019: seek timestamp for topic [-0] with position [{"timestamp":1621516671, "offset":-1}] failed |
|
DTS-30018,DTS-30019,DTS-70019 | 列不存在。 | DTS-30019: Can not find column [column_in_source<-->column_in_target] in target table db_name.table_name DTS-70019: Can not find column[column_in_source<-->column_in_target]in target table db_name.table_name |
说明 如果您的实际不符合以上原因,请尝试以下方法:
|
DTS-10046,DTS-30020 | SQL执行异常。 | DTS-10046: execute sql: CREATE TABLE if not exists`dts`.`table_name` ( `id` int(11) NOTNULL,`column1` bigint(20) NOT NULL, PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULTCHARSET=utf8 failed. Create TransactionTable failed. cause:MySQLSyntaxErrorException: CREATE command denied to user 'username'@'ip_address' for table 'table_name' | 一般情况下,伴随此错误码,系统会同时输出数据库层面的具体报错信息。请参考具体报错内容,检查错误消息中的SQL语句并进行修复。
|
DTS-70004 | SQL执行异常。 | DTS-70004: execute statement failed: /*dts_id=dtsaaaaaaaaaa*/alter table`xxx`.`yyy` modify column `aaa` INT default 0 comment 'bbb' cause:SQLException: [15018, 2021030506452201000000420803151947572] modify column type is not supported, col=x, oldType=bigint, newType=int | 一般情况下,目标库为AnalyticDB MySQL时,会出现示例报错信息。
|
DTS-70004:execute statement failed: /*aaaaaaaaaaMysqlEngine(28)*/update `xxx`.`yyy` set... error detail message:Server shutdown in progress MySQLNonTransientConnectionException: Server shutdown in progress |
| ||
DTS-70004:execute statement failed: /*aaaaaaaaaaMysqlEngine(27)*/update `xxx`.`yyy` set... cause: SQLException: null, message from server: "Host '192.10.XX.XX' isnot allowed to connect to this MySQL server" |
说明 修复完成后,需要重启任务。 | ||
DTS-70004: execute statement failed: /*bg6l15vf29l1b0vMysqlEngine(16)*/insertinto `xxx`.`yyy` ... error detail message:Table 'xxx.yyy' doesn't existMySQLSyntaxErrorException: Table 'xxx.yyy' doesn't exist |
说明 修复完成后,需要重启任务。 | ||
o3z5bntMysqlEngine(0)*/insert into`xxx`.`yyy` ...error detail message:Column 'aaa' cannot be nullMySQLIntegrityConstraintViolationException: Column 'aaa' cannot be null |
| ||
DTS-70004: execute statement failed:/*s2gb356ds228bt8MysqlEngine(0)*/insert into `xxx`.`yyy` (`...`)values(...)error detail message:INSERT command denied to user'user'@'100.104.175.31' for table 'yyy' MySQLSyntaxErrorException: INSERTcommand denied to user 'user'@'100.104.175.31' for table 'yyy' |
| ||
DTS-70002 | 无法连接数据库,或对应的库/表不存在。 | DTS-70002: get table detail info failed after 151times (user: db_name, database:table_name) MySQLSyntaxErrorException: Table 'db_name.table_name'doesn't exist |
|
DTS-60001 | 无法连接到源端数据库。 | DTS-60001: Create connection failed (url:ip_address:port, user: username) cause: SQLException: Access denied for user'username'@'ip_address' (using password: YES) |
说明 若您的实际不符合上述原因,请尝试以下方法:
|
DTS-61015 | 无法连接到源端数据库。 | DTS-61015: Create connection failed(url:ip_address:port, user: username) cause:MySQLNonTransientConnectionException: Data source rejected establishment ofconnection, message from server: "Too many connections" |
说明 若您的实际不符合上述原因,请尝试以下方法:
|
DTS-71016 | 无法连接到目标端数据库。 |
|
|
DTS-10015 | 无法连接到Redis。 | DTS-10015: unreachable redis network.JedisConnectionException: Could not get a resource from the poolJedisConnectionException: Failed connecting to ip_address:portConnectException: Connection timed out (Connection timed out) |
|
DTS-30005 | 内部处理中保存元数据信息失败 | DTS-30005: save changed job progress info failed cause: SQLException:result content unexpected. expect 3 time 1, actually [2, 1, 1] |
|
DTS-30011 | 写数据异常 | DTS-30011:put 2048 records error, currentRunningSQL:insert ignore into `xxx`.`yyy`(...), currentRunningRecordRange:{id:5362875948821643265,xxx.yyy,field:DefaultRecordField:{fieldName=aaa, dataType={typeName:BIGINT, typeId:-5, isLobType:false,encoding:null}, sourceDataType=null, aliases=[], defaultValue=null,nullable=false, unique=true, primary=true,generated=false},leftValue:1293615822270500864,rightValue:1311217506282770432,partition:null}cause: BatchUpdateException: The table 'yyy' is full SQLException: The table'yyy' is full |
|
DTS-30011: put 2048 records error, currentRunningSQL:insert ignore into`xxx`.`yyy`(...:{id:4958981218625388545,schema:xxx.yyy,field:DefaultRecordField:{fieldName=aaa, dataType={typeName:INTEGER, typeId:4, isLobType:false,encoding:null}, sourceDataType=null, aliases=[], defaultValue=null,nullable=false, unique=true, primary=true,generated=false},leftValue:512021,rightValue:1024022,partition:null} cause:BatchUpdateException: Lock wait timeout exceeded; try restarting transactionMySQLTransactionRollbackException: Lock wait timeout exceeded; try restartingtransaction |
| ||
DTS-30011: put 2048 records error, currentRunningSQL:insert ignore into`xxx`.`yyy`(`...,currentRunningRecordRange:{id:4050997257913237860,schema:xxx.yyy,field:DefaultRecordField:{fieldName=id, dataType={typeName:BIGINT, typeId:-5, isLobType:false, encoding:null},sourceDataType=null, aliases=[], defaultValue=null, nullable=false,unique=true, primary=true,generated=false},leftValue:5424204045,rightValue:5424982251,partition:null}cause: SQLException: The MySQL server is running with the --read-only option soit cannot execute this statement |
| ||
DTS-1051009 | DTS解析MySQL数据库Binlog日志异常。 | java.IOEException: java.lang.IllegalArgumentException: Valid type fail, Column:column_name,Type:type_number |
|