Direct load memory split tenant.

This commit is contained in:
suz-yang
2024-02-28 03:14:58 +00:00
committed by ob-robot
parent 32f925129f
commit 8cf87984db
77 changed files with 302 additions and 141 deletions

View File

@ -67,6 +67,7 @@ ObLoadDataDirectImpl::LoadExecuteParam::LoadExecuteParam()
ignore_row_num_(-1),
dup_action_(ObLoadDupActionType::LOAD_INVALID_MODE)
{
store_column_idxs_.set_tenant_id(MTL_ID());
}
bool ObLoadDataDirectImpl::LoadExecuteParam::is_valid() const
@ -233,6 +234,7 @@ int ObLoadDataDirectImpl::Logger::log_error_line(const ObString &file_name, int6
ObLoadDataDirectImpl::DataDescIterator::DataDescIterator()
: pos_(0)
{
data_descs_.set_tenant_id(MTL_ID());
}
ObLoadDataDirectImpl::DataDescIterator::~DataDescIterator()
@ -443,6 +445,7 @@ ObLoadDataDirectImpl::DataReader::DataReader()
is_iter_end_(false),
is_inited_(false)
{
allocator_.set_tenant_id(MTL_ID());
}
ObLoadDataDirectImpl::DataReader::~DataReader()
@ -901,6 +904,7 @@ ObLoadDataDirectImpl::FileLoadExecutor::FileLoadExecutor()
total_line_count_(0),
is_inited_(false)
{
handle_resource_.set_tenant_id(MTL_ID());
}
ObLoadDataDirectImpl::FileLoadExecutor::~FileLoadExecutor()
@ -1973,7 +1977,8 @@ int ObLoadDataDirectImpl::init_store_column_idxs(ObIArray<int64_t> &store_column
const uint64_t table_id = load_args.table_id_;
ObSchemaGetterGuard schema_guard;
const ObTableSchema *table_schema = nullptr;
ObSEArray<ObColDesc, 64> column_descs;
ObArray<ObColDesc> column_descs;
column_descs.set_tenant_id(MTL_ID());
if (OB_FAIL(ObMultiVersionSchemaService::get_instance().get_tenant_schema_guard(tenant_id,
schema_guard))) {
LOG_WARN("fail to get tenant schema guard", KR(ret), K(tenant_id));

View File

@ -96,8 +96,7 @@ private:
int64_t ignore_row_num_; // number of rows to ignore per file
sql::ObLoadDupActionType dup_action_;
DataAccessParam data_access_param_;
common::ObSEArray<int64_t, 16>
store_column_idxs_; // Mapping of stored columns to source data columns
common::ObArray<int64_t> store_column_idxs_; // Mapping of stored columns to source data columns
};
struct LoadExecuteContext
@ -166,7 +165,7 @@ private:
int get_next_data_desc(DataDesc &data_desc, int64_t &pos);
TO_STRING_KV(K_(data_descs), K_(pos));
private:
common::ObSEArray<DataDesc, 64> data_descs_;
common::ObArray<DataDesc> data_descs_;
int64_t pos_;
};
@ -359,7 +358,7 @@ private:
// task ctrl
ObParallelTaskController task_controller_;
ObConcurrentFixedCircularArray<TaskHandle *> handle_reserve_queue_;
common::ObSEArray<TaskHandle *, 64> handle_resource_; // 用于释放资源
common::ObArray<TaskHandle *> handle_resource_; // 用于释放资源
int64_t total_line_count_;
bool is_inited_;
private: