pavingData为true时,INSERT操作会导致反序列化空指针的问题修复(oraclelogminer)
- 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
Assessment
This issue has not been assessed yet.