[bugfix]: for already commited tablet, shouldn't append related lob tablet.
This commit is contained in:
parent
c025ac9d71
commit
f95855069f
@ -1433,7 +1433,7 @@ int ObComplementWriteTask::append_row(ObScan *scan)
|
||||
LOG_WARN("tmp_row is nullptr", K(ret));
|
||||
} else if (OB_FAIL(add_extra_rowkey(rowkey_column_cnt, extra_rowkey_cnt, *tmp_row))) {
|
||||
LOG_WARN("fail to add extra rowkey", K(ret));
|
||||
} else if (OB_FAIL(append_lob(rowkey_column_cnt, extra_rowkey_cnt, row_iter, lob_allocator))) {
|
||||
} else if (!ddl_committed && OB_FAIL(append_lob(rowkey_column_cnt, extra_rowkey_cnt, row_iter, lob_allocator))) {
|
||||
LOG_WARN("append lob into macro block failed", K(ret));
|
||||
} else if (OB_FAIL(new_row_builder.build(write_row_, tmp_store_row))) {
|
||||
} else if (OB_FAIL(ObRowReshapeUtil::reshape_table_rows(
|
||||
|
@ -827,10 +827,11 @@ int ObTenantDirectLoadMgr::check_and_process_finished_tablet(
|
||||
}
|
||||
if (OB_SUCC(ret) && nullptr != row_iter) {
|
||||
const ObDatumRow *row = nullptr;
|
||||
const bool skip_lob = true;
|
||||
while (OB_SUCC(ret)) {
|
||||
if (OB_FAIL(THIS_WORKER.check_status())) {
|
||||
LOG_WARN("check status failed", K(ret));
|
||||
} else if (OB_FAIL(row_iter->get_next_row(row))) {
|
||||
} else if (OB_FAIL(static_cast<ObDDLInsertRowIterator*>(row_iter)->get_next_row(skip_lob, row))) {
|
||||
if (OB_ITER_END == ret) {
|
||||
ret = OB_SUCCESS;
|
||||
break;
|
||||
|
@ -85,6 +85,7 @@ int ObDDLInsertRowIterator::close_lob_sstable_slice()
|
||||
}
|
||||
|
||||
int ObDDLInsertRowIterator::get_next_row(
|
||||
const bool skip_lob,
|
||||
const blocksstable::ObDatumRow *&row)
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
@ -162,7 +163,7 @@ int ObDDLInsertRowIterator::get_next_row(
|
||||
}
|
||||
}
|
||||
|
||||
if (OB_SUCC(ret) && lob_column_idxs.count() > 0) {
|
||||
if (OB_SUCC(ret) && !skip_lob && lob_column_idxs.count() > 0) {
|
||||
//handle lob
|
||||
if (lob_id_cache_.remain_count() < lob_column_idxs.count()) {
|
||||
if (OB_FAIL(switch_to_new_lob_slice())) {
|
||||
|
@ -273,7 +273,12 @@ public:
|
||||
const int64_t context_id,
|
||||
const int64_t parallel_idx);
|
||||
virtual ~ObDDLInsertRowIterator();
|
||||
virtual int get_next_row(const blocksstable::ObDatumRow *&row) override;
|
||||
virtual int get_next_row(const blocksstable::ObDatumRow *&row) override
|
||||
{
|
||||
const bool skip_lob = false;
|
||||
return get_next_row(skip_lob, row);
|
||||
}
|
||||
int get_next_row(const bool skip_lob, const blocksstable::ObDatumRow *&row);
|
||||
TO_STRING_KV(K_(ls_id), K_(current_tablet_id), K_(current_row), K_(is_slice_empty), K_(is_next_row_cached), K_(rowkey_count), K_(snapshot_version),
|
||||
K_(lob_slice_id), K_(lob_id_cache), K_(context_id));
|
||||
public:
|
||||
|
Loading…
x
Reference in New Issue
Block a user