fetch location with sync interface when the location cache not exist

This commit is contained in:
leslieyuchen
2023-05-19 09:11:40 +00:00
committed by ob-robot
parent 3339b8372b
commit 5148758db5
11 changed files with 174 additions and 129 deletions

View File

@ -596,7 +596,8 @@ int ObCandiTableLoc::replace_local_index_loc(DASRelatedTabletMap &map, ObTableID
const DASRelatedTabletMap::Value *rv = nullptr;
if (OB_ISNULL(rv = map.get_related_tablet_id(tablet_loc.get_tablet_id(), ref_table_id))) {
ret = OB_ERR_UNEXPECTED;
LOG_WARN("related tablet info is invalid", K(ret), K(tablet_loc.get_tablet_id()), K(ref_table_id));
LOG_WARN("related tablet info is invalid", K(ret),
K(tablet_loc.get_tablet_id()), K(ref_table_id), K(map));
} else {
tablet_loc.set_tablet_info(rv->tablet_id_, rv->part_id_, rv->first_level_part_id_);
}

View File

@ -5290,7 +5290,8 @@ int ObTableLocation::try_split_integer_range(const common::ObIArray<common::ObNe
return ret;
}
int ObTableLocation::get_full_leader_table_loc(ObIAllocator &allocator,
int ObTableLocation::get_full_leader_table_loc(ObDASLocationRouter &loc_router,
ObIAllocator &allocator,
uint64_t tenant_id,
uint64_t table_id,
uint64_t ref_table_id,
@ -5333,7 +5334,7 @@ int ObTableLocation::get_full_leader_table_loc(ObIAllocator &allocator,
OX(tablet_loc->loc_meta_ = loc_meta);
OX(tablet_loc->partition_id_ = partition_ids.at(i));
OX(tablet_loc->first_level_part_id_ = first_level_part_ids.at(i));
OZ(ObDASLocationRouter::nonblock_get_leader(tenant_id, tablet_ids.at(i), *tablet_loc));
OZ(loc_router.nonblock_get_leader(tenant_id, tablet_ids.at(i), *tablet_loc));
OZ(table_loc->add_tablet_loc(tablet_loc));
}
}

View File

@ -699,7 +699,8 @@ public:
common::ObIArray<ObRawExpr *> *sort_exprs) const;
bool has_generated_column() const { return NULL != se_gen_col_expr_ || NULL != se_sub_gen_col_expr_ ||
NULL != gen_col_node_ || NULL != sub_gen_col_node_; }
static int get_full_leader_table_loc(ObIAllocator &allocator,
static int get_full_leader_table_loc(ObDASLocationRouter &loc_router,
ObIAllocator &allocator,
uint64_t tenant_id,
uint64_t table_id,
uint64_t ref_table_id,