fix lob macro block logic id duplicate after direct load.

This commit is contained in:
obdev
2024-04-02 04:24:02 +00:00
committed by ob-robot
parent 7485e7e275
commit 46511938dc
8 changed files with 139 additions and 44 deletions

View File

@ -211,9 +211,16 @@ int ObPxMultiPartSSTableInsertOp::inner_get_next_row()
slice_info))) {
LOG_WARN("create sstable slice writer failed", K(ret), K(block_start_seq), K(slice_info));
} else {
ObDDLInsertRowIterator row_iter(this, is_current_slice_empty /*is_slice_empty*/,
notify_ls_id, notify_tablet_id, table_schema->get_rowkey_column_num(), snapshot_version_, slice_info.context_id_, parallel_idx);
if (OB_FAIL(tenant_direct_load_mgr->fill_sstable_slice(slice_info,
ObDDLInsertRowIterator row_iter;
if (OB_FAIL(row_iter.init(this,
is_current_slice_empty,
notify_ls_id,
notify_tablet_id,
table_schema->get_rowkey_column_num(),
snapshot_version_,
slice_info.context_id_, parallel_idx))) {
LOG_WARN("init failed", K(ret));
} else if (OB_FAIL(tenant_direct_load_mgr->fill_sstable_slice(slice_info,
&row_iter,
affected_rows,
&insert_monitor))) {
@ -221,7 +228,8 @@ int ObPxMultiPartSSTableInsertOp::inner_get_next_row()
}
}
if (OB_SUCC(ret)) {
if (OB_FAIL(tenant_direct_load_mgr->close_sstable_slice(slice_info, &insert_monitor))) {
blocksstable::ObMacroDataSeq unused_seq;
if (OB_FAIL(tenant_direct_load_mgr->close_sstable_slice(slice_info, &insert_monitor, unused_seq))) {
LOG_WARN("close sstable slice failed", K(ret), K(slice_info));
}
ctx_.get_physical_plan_ctx()->add_affected_rows(affected_rows);