From b25c41566c8d5fedd6558e49ca7f0e18a9ef55e5 Mon Sep 17 00:00:00 2001 From: obdev Date: Tue, 18 Apr 2023 08:11:53 +0000 Subject: [PATCH] Fix memory expansion --- src/sql/das/ob_das_scan_op.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/sql/das/ob_das_scan_op.cpp b/src/sql/das/ob_das_scan_op.cpp index 8c6a623dc1..f67c9ea7ec 100644 --- a/src/sql/das/ob_das_scan_op.cpp +++ b/src/sql/das/ob_das_scan_op.cpp @@ -864,8 +864,9 @@ int ObLocalIndexLookupOp::process_data_table_rowkey() : index_ctdef_->result_output_.count(); ObObj *obj_ptr = nullptr; void *buf = nullptr; + common::ObArenaAllocator& lookup_alloc = lookup_memctx_->get_arena_allocator(); ObNewRange lookup_range; - if (OB_ISNULL(buf = lookup_rtdef_->scan_allocator_.alloc(sizeof(ObObj) * rowkey_cnt))) { + if (OB_ISNULL(buf = lookup_alloc.alloc(sizeof(ObObj) * rowkey_cnt))) { ret = OB_ALLOCATE_MEMORY_FAILED; LOG_WARN("allocate buffer failed", K(ret), K(rowkey_cnt)); } else { @@ -880,7 +881,7 @@ int ObLocalIndexLookupOp::process_data_table_rowkey() ObDatum &col_datum = expr->locate_expr_datum(*lookup_rtdef_->eval_ctx_); if (OB_FAIL(col_datum.to_obj(tmp_obj, expr->obj_meta_, expr->obj_datum_map_))) { LOG_WARN("convert datum to obj failed", K(ret)); - } else if (OB_FAIL(ob_write_obj(lookup_rtdef_->scan_allocator_, tmp_obj, obj_ptr[i]))) { + } else if (OB_FAIL(ob_write_obj(lookup_alloc, tmp_obj, obj_ptr[i]))) { LOG_WARN("deep copy rowkey value failed", K(ret), K(tmp_obj)); } }