@qingduyu 在 mongo-kaifa-同步失败 中说:
补充一下上下文
这是mongo-kafka的任务, 通过已有的,和自动创建的都是失败,
报错日志:
021-11-11 18:34:54.210 [main] ERROR c.c.c.mongodb.worker.position.MongoFullPosManager - Init table (riskmg.dtinDatasourceJnl)position failed with exception,msg:ClassCastException: Cannot cast java.lang.String to org.bson.Document
java.lang.ClassCastException: Cannot cast java.lang.String to org.bson.Document
at java.lang.Class.cast(Class.java:3369)
at org.bson.Document.get(Document.java:144)
at com.clougence.cloudcanal.mongodb.common.util.MongoMetaUtilImpl.queryMaxId(MongoMetaUtilImpl.java:108)
at com.clougence.cloudcanal.mongodb.common.util.MongoMetaUtilImpl.fetchNumericPkMinMaxVal(MongoMetaUtilImpl.java:82)
at com.clougence.cloudcanal.mongodb.common.util.MongoMetaUtilImpl.fetchNumericPkMinMaxVal(MongoMetaUtilImpl.java:23)
at com.clougence.cloudcanal.mongodb.worker.position.MongoFullPosManager.genInitialPos(MongoFullPosManager.java:84)
at com.clougence.cloudcanal.mongodb.worker.position.MongoFullPosManager.fillPositionMap(MongoFullPosManager.java:72)
at com.clougence.cloudcanal.mongodb.worker.position.MongoFullPosManager.initPositionMap(MongoFullPosManager.java:59)
at com.clougence.cloudcanal.ds.common.position.AbstractRdbFullPosManager.start(AbstractRdbFullPosManager.java:73)
at com.clougence.cloudcanal.task.service.impl.CanalFullServiceImpl.start(CanalFullServiceImpl.java:56)
at com.clougence.cloudcanal.task.DataTaskStarter.startDataTask(DataTaskStarter.java:246)
at com.clougence.cloudcanal.task.DataTaskStarter.start(DataTaskStarter.java:114)
at com.clougence.cloudcanal.task.TaskCoreApplication.main(TaskCoreApplication.java:49)
2021-11-11 18:34:54.217 [main] ERROR com.clougence.cloudcanal.task.DataTaskStarter - Start data task failed with exception. Root cause is ClassCastException: Cannot cast java.lang.String to org.bson.Document
com.clougence.cloudcanal.base.service.task.exception.runtime.PositionException: Init table (riskmg.dtinDatasourceJnl)position failed with exception,msg:ClassCastException: Cannot cast java.lang.String to org.bson.Document
at com.clougence.cloudcanal.mongodb.worker.position.MongoFullPosManager.genInitialPos(MongoFullPosManager.java:105)
at com.clougence.cloudcanal.mongodb.worker.position.MongoFullPosManager.fillPositionMap(MongoFullPosManager.java:72)
at com.clougence.cloudcanal.mongodb.worker.position.MongoFullPosManager.initPositionMap(MongoFullPosManager.java:59)
at com.clougence.cloudcanal.ds.common.position.AbstractRdbFullPosManager.start(AbstractRdbFullPosManager.java:73)
at com.clougence.cloudcanal.task.service.impl.CanalFullServiceImpl.start(CanalFullServiceImpl.java:56)
at com.clougence.cloudcanal.task.DataTaskStarter.startDataTask(DataTaskStarter.java:246)
at com.clougence.cloudcanal.task.DataTaskStarter.start(DataTaskStarter.java:114)
at com.clougence.cloudcanal.task.TaskCoreApplication.main(TaskCoreApplication.java:49)
Caused by: java.lang.ClassCastException: Cannot cast java.lang.String to org.bson.Document
at java.lang.Class.cast(Class.java:3369)
at org.bson.Document.get(Document.java:144)
at com.clougence.cloudcanal.mongodb.common.util.MongoMetaUtilImpl.queryMaxId(MongoMetaUtilImpl.java:108)
at com.clougence.cloudcanal.mongodb.common.util.MongoMetaUtilImpl.fetchNumericPkMinMaxVal(MongoMetaUtilImpl.java:82)
at com.clougence.cloudcanal.mongodb.common.util.MongoMetaUtilImpl.fetchNumericPkMinMaxVal(MongoMetaUtilImpl.java:23)
at com.clougence.cloudcanal.mongodb.worker.position.MongoFullPosManager.genInitialPos(MongoFullPosManager.java:84)
… 7 common frames omitted
2021-11-11 18:34:54.218 [main] ERROR com.clougence.cloudcanal.task.TaskCoreApplication - start task error.task id:10,msg:ClassCastException: Cannot cast java.lang.String to org.bson.Document
com.clougence.cloudcanal.base.service.task.exception.runtime.PositionException: Init table (riskmg.dtinDatasourceJnl)position failed with exception,msg:ClassCastException: Cannot cast java.lang.String to org.bson.Document
at com.clougence.cloudcanal.mongodb.worker.position.MongoFullPosManager.genInitialPos(MongoFullPosManager.java:105)
at com.clougence.cloudcanal.mongodb.worker.position.MongoFullPosManager.fillPositionMap(MongoFullPosManager.java:72)
at com.clougence.cloudcanal.mongodb.worker.position.MongoFullPosManager.initPositionMap(MongoFullPosManager.java:59)
at com.clougence.cloudcanal.ds.common.position.AbstractRdbFullPosManager.start(AbstractRdbFullPosManager.java:73)
at com.clougence.cloudcanal.task.service.impl.CanalFullServiceImpl.start(CanalFullServiceImpl.java:56)
at com.clougence.cloudcanal.task.DataTaskStarter.startDataTask(DataTaskStarter.java:246)
at com.clougence.cloudcanal.task.DataTaskStarter.start(DataTaskStarter.java:114)
at com.clougence.cloudcanal.task.TaskCoreApplication.main(TaskCoreApplication.java:49)
Caused by: java.lang.ClassCastException: Cannot cast java.lang.String to org.bson.Document
at java.lang.Class.cast(Class.java:3369)
at org.bson.Document.get(Document.java:144)
at com.clougence.cloudcanal.mongodb.common.util.MongoMetaUtilImpl.queryMaxId(MongoMetaUtilImpl.java:108)
at com.clougence.cloudcanal.mongodb.common.util.MongoMetaUtilImpl.fetchNumericPkMinMaxVal(MongoMetaUtilImpl.java:82)
at com.clougence.cloudcanal.mongodb.common.util.MongoMetaUtilImpl.fetchNumericPkMinMaxVal(MongoMetaUtilImpl.java:23)
at com.clougence.cloudcanal.mongodb.worker.position.MongoFullPosManager.genInitialPos(MongoFullPosManager.java:84)
… 7 common frames omitted
2021-11-11 18:34:54.220 [main] ERROR com.clougence.cloudcanal.task.TaskCoreApplication - try to exist with System.exit(-1)============mongo 中的 范例 collection的某一值====================
{
“_id”: “600102S08022019060614030226137600102S080220190606140302261370000”,
“dsId”: “OGZT”,
“entNo”: “1”,
“intfId”: “OGZT004”,
“channel”: “0101”,
“channelDate”: “20190606”,
“sourceSystemId”: “6001”,
“cacheKey”: “FKCACHE:OGZT004:巫ZXXX,44088119822356910”,
“transStatus”: “4”,
“responseCode”: “DT01009”,
“responseMsg”: “数据源调用错误——原始返回报文转换出现错误”,
“oriRequestTime”: “2019-06-06 14:03:02”,
“oriResponseTime”: “2019-06-06 14:03:16”,
“convertStandMapTime”: “2019-06-06 14:03:16”,
“oriRequestMap”: {
“idCard”: “44088119860905234910”,
“customerName”: “巫查”
},
“oriResponseMsg”: “”,
“oriResponseMsgProvenance”: “1”,
“_class”: “com.veredholdings.dtin.ds.proxy.mongo.dto.DtinDatasourceJnl”
}
好的,mongodb 源端实际上还处于测试阶段–,不过我们跟踪下。