alibaba / alibaba/otter

ddl操作导致pipleline一直报错

Open
#657 1 comment 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

进行ddl操作,加了一个索引
ALTER TABLE `a`.`b`
ADD INDEX `c` (`d` ASC);
就一直报错:
pid:6 nid:1 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:211)
at com.alibaba.otter.node.etl.select.selector.canal.CanalEmbedSelector.selector(CanalEmbedSelector.java:308)
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: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: java.lang.NullPointerException
at com.alibaba.otter.node.etl.select.selector.MessageParser.internParse(MessageParser.java:380)
at com.alibaba.otter.node.etl.select.selector.MessageParser.parse(MessageParser.java:183)
... 9 more

Contributor guide

No contributing guide indexed for this repository

Research direction

Reproduce the reported ALTER TABLE ... ADD INDEX operation and inspect MessageParser.java at lines 211 and 380, where the NullPointerException is reported. Trace how CanalEmbedSelector.java line 308 passes the DDL event into MessageParser. Done means the pipeline no longer fails with this DDL operation.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
databases
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.