Fixing the error code of error row handler in direct load

This commit is contained in:
obdev
2023-02-17 18:17:02 +00:00
committed by ob-robot
parent cdc3c2b679
commit 6a00e66cda
2 changed files with 6 additions and 1 deletions

View File

@ -38,6 +38,7 @@ public:
int check_rowkey_order(int32_t session_id, const common::ObTabletID &tablet_id,
const blocksstable::ObDatumRow &datum_row);
sql::ObLoadDupActionType get_action() const {return param_.dup_action_;}
uint64_t get_capacity() const { return capacity_; }
TO_STRING_KV(K_(capacity), K_(error_row_cnt), K_(repeated_row_cnt), K_(session_cnt), K_(is_inited));
private:
int inner_append_error_row(const common::ObNewRow &row,

View File

@ -232,7 +232,11 @@ int ObDirectLoadDataFuse::inner_get_next_row(const ObDatumRow *&datum_row)
} else {
ObTableLoadErrorRowHandler *error_row_handler = param_.error_row_handler_;
if (OB_FAIL(error_row_handler->append_error_row(*item->datum_row_))) {
LOG_WARN("fail to append row to error row handler", KR(ret), K(item->datum_row_));
if ((OB_ERR_TOO_MANY_ROWS == ret)
&& (0 == param_.error_row_handler_->get_capacity())){
ret = OB_ERR_PRIMARY_KEY_DUPLICATE;
}
LOG_WARN("fail to append row to error row handler", KR(ret), KPC(item->datum_row_));
}
}
} else if (ObLoadDupActionType::LOAD_IGNORE == param_.dup_action_) {