DTStack / DTStack/chunjun

pavingData为true时,INSERT操作会导致反序列化空指针的问题修复(oraclelogminer)

Open
#639 2 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Java
Stars
4.1k
Forks
1.7k
PR merge metrics
No merged PRs in 30d

Description

在com.dtstack.flinkx.connector.oraclelogminer.converter.LogMinerColumnConverter的parseColumnList中,有一个空指针异常。
场景:
pavingData为true时,在oracle执行insert操作,从官方文档可得知beforeFieldList的字段数据都是null,这里执行反序列时就会出现空指针异常,需要先进行判空:
【原代码】
AbstractBaseColumn column =
(AbstractBaseColumn) converters.get(index).deserialize(entryColumn.getData());
columnList.add(column);
headerList.add(prefix + entryColumn.getName());
【修复后】
AbstractBaseColumn column = new NullColumn();
if (!entryColumn.isNull()) {
column = (AbstractBaseColumn)
converters.get(index).deserialize(entryColumn.getData());
}
columnList.add(column);
headerList.add(prefix + entryColumn.getName());

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.