[CP] Make ObTabletTableIterator and ObTableStoreIterator deep copy safe
This commit is contained in:
@ -208,10 +208,10 @@ int ObComplementDataParam::split_task_ranges(
|
||||
total_size,
|
||||
expected_task_count))) {
|
||||
LOG_WARN("compute total task count failed", K(ret));
|
||||
} else if (OB_FAIL(tablet_service->split_multi_ranges(tablet_id,
|
||||
ranges,
|
||||
} else if (OB_FAIL(tablet_service->split_multi_ranges(tablet_id,
|
||||
ranges,
|
||||
min(min(max(expected_task_count, 1), hint_parallelism), ObMacroDataSeq::MAX_PARALLEL_IDX + 1),
|
||||
allocator_,
|
||||
allocator_,
|
||||
multi_range_split_array))) {
|
||||
LOG_WARN("split multi ranges failed", K(ret));
|
||||
if (OB_REPLICA_NOT_READABLE == ret) {
|
||||
@ -1773,9 +1773,10 @@ int ObLocalScan::construct_multiple_scan_merge(
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
void *buf = nullptr;
|
||||
get_table_param_.tablet_iter_ = table_iter;
|
||||
LOG_INFO("start to do output_store.scan");
|
||||
if (OB_ISNULL(buf = allocator_.alloc(sizeof(ObMultipleScanMerge)))) {
|
||||
if (OB_FAIL(get_table_param_.tablet_iter_.assign(table_iter))) {
|
||||
LOG_WARN("fail to assign tablet iterator", K(ret));
|
||||
} else if (OB_ISNULL(buf = allocator_.alloc(sizeof(ObMultipleScanMerge)))) {
|
||||
ret = OB_ALLOCATE_MEMORY_FAILED;
|
||||
LOG_WARN("fail to alloc memory for ObMultipleScanMerge", K(ret));
|
||||
} else if (FALSE_IT(scan_merge_ = new(buf)ObMultipleScanMerge())) {
|
||||
|
||||
Reference in New Issue
Block a user