Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

从svg导入数据到mysql后,更新其中的字段,canal adapter日志一直报空指针 #5248

Open
Future-came opened this issue Aug 21, 2024 · 0 comments

Comments

@Future-came
Copy link

adapter/conf/es8/test.yml如下:

dataSourceKey: defaultDS
destination: dev
groupId: g1
esMapping:
_index: entity
_id: _id
sql: "SELECT p.id AS _id, p.name AS name, p.name_en AS name_en, p.phone AS phone, p.status AS status, p.type AS type, p.area AS area, p.floor AS floor, p.serial_no AS serial_no, concat_ws(', ', p.latitude, p.longitude) AS position, p.tag AS tag, p.visitor_count AS visitor_count FROM entity p"
commitBatch: 3000

从svg导入数据到entity表后,canal更新正常,但是修改entity表的某行记录后,canal adapter直接报错,请问是怎么回事:
2024-08-21 06:55:45.302 [Thread-4] ERROR c.a.otter.canal.adapter.launcher.loader.AdapterProcessor - Outer adapter sync failed! Error sync and rollback, execute times: 18
2024-08-21 06:55:46.306 [pool-3-thread-1] INFO c.a.o.canal.client.adapter.logger.LoggerAdapterExample - DML: {"data":[{"id":1,"name":"testsssss","name_en":"","phone":"","status":1,"type":0,"area":"龙湖天街","floor":5,"serial_no":"","longitude":"118.842887","latitude":"32.328034","address":1,"website_address":"","applet_address":"","tag":"养身","visitor_count":0,"create_time":1724235000000,"update_time":1724223328000}],"database":"community_search","destination":"dev","es":1724223328000,"groupId":"g1","isDdl":false,"old":[{"name":"聚艺","update_time":1724235000000}],"pkNames":["id"],"sql":"","table":"entity4","ts":1724223346305,"type":"UPDATE"}
2024-08-21 06:55:46.307 [pool-3-thread-1] ERROR c.a.o.canal.client.adapter.es.core.service.ESSyncService - sync error, es index: entity4, DML : Dml{destination='dev', database='community_search', table='entity4', type='UPDATE', es=1724223328000, ts=1724223346305, sql='', data=[{id=1, name=testsssss, name_en=, phone=, status=1, type=0, area=龙湖天街, floor=5, serial_no=, longitude=118.842887, latitude=32.328034, address=1, website_address=, applet_address=, tag=养身, visitor_count=0, create_time=2024-08-21 10:10:00.0, update_time=2024-08-21 06:55:28.0}], old=[{name=聚艺, update_time=2024-08-21 10:10:00.0}]}
2024-08-21 06:55:46.308 [pool-3-thread-1] ERROR c.a.otter.canal.adapter.launcher.loader.AdapterProcessor - java.lang.NullPointerException
java.lang.RuntimeException: java.lang.NullPointerException
at com.alibaba.otter.canal.client.adapter.es.core.service.ESSyncService.sync(ESSyncService.java:112)
at com.alibaba.otter.canal.client.adapter.es.core.service.ESSyncService.sync(ESSyncService.java:60)
at com.alibaba.otter.canal.client.adapter.es.core.ESAdapter.sync(ESAdapter.java:104)
at com.alibaba.otter.canal.client.adapter.es.core.ESAdapter.sync(ESAdapter.java:83)
at com.alibaba.otter.canal.client.adapter.ProxyOuterAdapter.sync(ProxyOuterAdapter.java:42)
at com.alibaba.otter.canal.adapter.launcher.loader.AdapterProcessor.batchSync(AdapterProcessor.java:139)
at com.alibaba.otter.canal.adapter.launcher.loader.AdapterProcessor.lambda$null$1(AdapterProcessor.java:97)
at java.util.concurrent.CopyOnWriteArrayList.forEach(CopyOnWriteArrayList.java:895)
at com.alibaba.otter.canal.adapter.launcher.loader.AdapterProcessor.lambda$null$2(AdapterProcessor.java:94)
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:750)
Caused by: java.lang.NullPointerException: null
at com.alibaba.otter.canal.client.adapter.es8x.support.ES8xTemplate.getESDataFromDmlData(ES8xTemplate.java:318)
at com.alibaba.otter.canal.client.adapter.es.core.service.ESSyncService.singleTableSimpleFiledUpdate(ESSyncService.java:814)
at com.alibaba.otter.canal.client.adapter.es.core.service.ESSyncService.update(ESSyncService.java:262)
at com.alibaba.otter.canal.client.adapter.es.core.service.ESSyncService.sync(ESSyncService.java:97)
... 12 common frames omitted

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant