Data truncation: Invalid JSON text: "Invalid encoding in string." at position 20
- Dominant language
- Java
- Stars
- 8.1k
- Forks
- 2.5k
- PR merge metrics
- No merged PRs in 30d
Description
pid:13 nid:1 exception:setl:com.alibaba.otter.node.etl.load.exception.LoadException: java.util.concurrent.ExecutionException: com.alibaba.otter.node.etl.load.exception.LoadException: com.alibaba.otter.node.etl.load.exception.LoadException: com.alibaba.otter.node.etl.load.exception.LoadException: org.springframework.dao.DataIntegrityViolationException: PreparedStatementCallback; SQL [insert into `patient_live_video`.`navigation_resource`(`area_id` , `column_id` , `navigation_id` , `resource_id` , `resource_type` , `resource_name` , `resource_info` , `sort` , `tag_id` , `tag_name` , `is_deleted` , `create_user` , `update_user` , `create_time` , `update_time` , `id`) values (? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ? , ?) on duplicate key update `area_id`=values(`area_id`) , `column_id`=values(`column_id`) , `navigation_id`=values(`navigation_id`) , `resource_id`=values(`resource_id`) , `resource_type`=values(`resource_type`) , `resource_name`=values(`resource_name`) , `resource_info`=values(`resource_info`) , `sort`=values(`sort`) , `tag_id`=values(`tag_id`) , `tag_name`=values(`tag_name`) , `is_deleted`=values(`is_deleted`) , `create_user`=values(`create_user`) , `update_user`=values(`update_user`) , `create_time`=values(`create_time`) , `update_time`=values(`update_time`) , `id`=values(`id`)]; Data truncation: Invalid JSON text: "Invalid encoding in string." at position 207 in value for column 'navigation_resource.resource_info'.; nested exception is com.mysql.jdbc.MysqlDataTruncation: Data truncation: Invalid JSON text: "Invalid encoding in string." at position 207 in value for column 'navigation_resource.resource_info'.
at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.doTranslate(SQLStateSQLExceptionTranslator.java:101)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72)
at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:603)
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:812)
at org.springframework.jdbc.core.JdbcTemplate.update(JdbcTemplate.java:868)
at com.alibaba.otter.node.etl.load.loader.db.DbLoadAction$DbLoadWorker$2.doInTransaction(DbLoadAction.java:625)
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130)
at com.alibaba.otter.node.etl.load.loader.db.DbLoadAction$DbLoadWorker.doCall(DbLoadAction.java:617)
at com.alibaba.otter.node.etl.load.loader.db.DbLoadAction$DbLoadWorker.call(DbLoadAction.java:545)
at com.alibaba.otter.node.etl.load.loader.db.DbLoadAction.doTwoPhase(DbLoadAction.java:462)
at com.alibaba.otter.node.etl.load.loader.db.DbLoadAction.doLoad(DbLoadAction.java:275)
at com.alibaba.otter.node.etl.load.loader.db.DbLoadAction.load(DbLoadAction.java:161)
at com.alibaba.otter.node.etl.load.loader.db.DbLoadAction$$FastClassByCGLIB$$d932a4cb.invoke()
at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:191)
at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:618)
at com.alibaba.otter.node.etl.load.loader.db.DbLoadAction$$EnhancerByCGLIB$$80fd23c2.load()
at com.alibaba.otter.node.etl.load.loader.db.DataBatchLoader$2.call(DataBatchLoader.java:198)
at com.alibaba.otter.node.etl.load.loader.db.DataBatchLoader$2.call(DataBatchLoader.java:189)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Invalid JSON text: "Invalid encoding in string." at position 207 in value for column 'navigation_resource.resource_info'.
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3976)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3914)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2530)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2683)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2495)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1903)
at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2124)
at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2058)
at com.mysql.jdbc.PreparedStatement.executeLargeUpdate(PreparedStatement.java:5158)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2043)
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:105)
at org.springframework.jdbc.core.JdbcTemplate$2.doInPreparedStatement(JdbcTemplate.java:818)
at org.springframework.jdbc.core.JdbcTemplate$2.doInPreparedStatement(JdbcTemplate.java:1)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:587)
... 21 more
:-----------------
- PairId: 524 , TableId: 1,043 , EventType : U , Time : 1611351002000
- Consistency : , Mode :
-----------------
---Pks
EventColumn[index=0,columnType=-5,columnName=id,columnValue=374,isNull=false,isKey=true,isUpdate=true]
---oldPks
---Columns
EventColumn[index=1,columnType=-5,columnName=area_id,columnValue=0,isNull=false,isKey=false,isUpdate=true]
EventColumn[index=2,columnType=-5,columnName=column_id,columnValue=0,isNull=false,isKey=false,isUpdate=true]
EventColumn[index=3,columnType=-5,columnName=navigation_id,columnValue=15,isNull=false,isKey=false,isUpdate=true]
EventColumn[index=4,columnType=-5,columnName=resource_id,columnValue=1532412931435,isNull=false,isKey=false,isUpdate=true]
EventColumn[index=5,columnType=4,columnName=resource_type,columnValue=4,isNull=false,isKey=false,isUpdate=true]
EventColumn[index=6,columnType=12,columnName=resource_name,columnValue=脊柱侧弯的防治方法有哪些?,isNull=false,isKey=false,isUpdate=true]
EventColumn[index=7,columnType=12,columnName=resource_info,columnValue={"linkUrl": "https://patient.allinmed.cn/patientEducation/patientDetail?id=1532412931435", "coverUrl": "https://xxxxxxxxxx20/12/29/dxDcahfToMFsroVCJReZRgZXQgtJypWX.jpg", "authorName": "xxxxxx ", "hospitalName": "xxxxxx"},isNull=false,isKey=false,isUpdate=true]
EventColumn[index=8,columnType=4,columnName=sort,columnValue=280,isNull=false,isKey=false,isUpdate=true]
EventColumn[index=9,columnType=-5,columnName=tag_id,columnValue=0,isNull=false,isKey=false,isUpdate=true]
EventColumn[index=10,columnType=12,columnName=tag_name,columnValue=,isNull=false,isKey=false,isUpdate=true]
EventColumn[index=11,columnType=-7,columnName=is_deleted,columnValue=1,isNull=false,isKey=false,isUpdate=true]
EventColumn[index=12,columnType=12,columnName=create_user,columnValue=lishupeng,isNull=false,isKey=false,isUpdate=true]
EventColumn[index=13,columnType=12,columnName=update_user,columnValue=lishupeng,isNull=false,isKey=false,isUpdate=true]
EventColumn[index=14,columnType=93,columnName=create_time,columnValue=2020-12-29 16:31:08,isNull=false,isKey=false,isUpdate=true]
EventColumn[index=15,columnType=93,columnName=update_time,columnValue=2021-01-23 05:30:02,isNull=false,isKey=false,isUpdate=true]
---Sql
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with com.alibaba.otter.node.etl.load.loader.db.DbLoadAction.java around lines 625, 617, 545, and 462, then trace the navigation_resource.resource_info value into the MySQL prepared statement. Reproduce the reported event using the supplied table, column, and JSON details, and determine where the invalid encoding is introduced. Done means the failure has a confirmed cause and a verified resolution or a clearly documented limitation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, mysql, spring
- Domain
- data-engineering, databases
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100