alibaba / alibaba/otter

otter支持使用pt-online-schema-change工具改表同步吗

Open
#162 9 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
8.1k
Forks
2.5k
PR merge metrics
No merged PRs in 30d

Description

我在测试过程中,用pt-online-schema-change改表之后,同步就断了,报下面的错误:

`pid:1 nid:2 exception:setl:com.alibaba.otter.node.etl.select.exceptions.SelectException: java.lang.NullPointerException
at com.alibaba.otter.node.etl.select.selector.MessageParser.parse(MessageParser.java:209)
at com.alibaba.otter.node.etl.select.selector.canal.CanalEmbedSelector.selector(CanalEmbedSelector.java:264)
at com.alibaba.otter.node.etl.select.SelectTask.processSelect(SelectTask.java:236)
at com.alibaba.otter.node.etl.select.SelectTask.access$300(SelectTask.java:94)
at com.alibaba.otter.node.etl.select.SelectTask$1.run(SelectTask.java:208)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.NullPointerException
at com.alibaba.otter.node.etl.select.selector.MessageParser.internParse(MessageParser.java:378)
at com.alibaba.otter.node.etl.select.selector.MessageParser.parse(MessageParser.java:181)
... 9 more
`

Contributor guide

No contributing guide indexed for this repository

Research direction

Reproduce the synchronization failure after using pt-online-schema-change, then start with MessageParser.java at parse (line 209) and internParse (line 378), following the call from CanalEmbedSelector.java. Determine which schema-change event causes the NullPointerException; done means synchronization continues successfully after the table alteration.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, mysql
Domain
databases
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.