do not readBySplit when it's not in table mode

This commit is contained in:
johnrobbet 2022-03-08 16:42:59 +08:00
parent da9134bda4
commit 04c3c2e810

View File

@ -1,5 +1,6 @@
package com.alibaba.datax.plugin.reader.oceanbasev10reader.ext; package com.alibaba.datax.plugin.reader.oceanbasev10reader.ext;
import java.util.Arrays;
import java.util.List; import java.util.List;
import com.alibaba.datax.common.constant.CommonConstant; import com.alibaba.datax.common.constant.CommonConstant;
@ -48,8 +49,11 @@ public class ReaderJob extends CommonRdbmsReader.Job {
@Override @Override
public List<Configuration> split(Configuration originalConfig, int adviceNumber) { public List<Configuration> split(Configuration originalConfig, int adviceNumber) {
List<Configuration> list; List<Configuration> list;
// readByPartition is lower priority than splitPk // readByPartition is lower priority than splitPk.
if (!isSplitPkValid(originalConfig) && originalConfig.getBool(ObReaderKey.READ_BY_PARTITION, false)) { // and readByPartition only works in table mode.
if (!isSplitPkValid(originalConfig) &&
originalConfig.getBool(Constant.IS_TABLE_MODE) &&
originalConfig.getBool(ObReaderKey.READ_BY_PARTITION, false)) {
LOG.info("try to split reader job by partition."); LOG.info("try to split reader job by partition.");
list = PartitionSplitUtil.splitByPartition(originalConfig); list = PartitionSplitUtil.splitByPartition(originalConfig);
} else { } else {