fetch location with sync interface when the location cache not exist
This commit is contained in:
@ -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_);
|
||||
}
|
||||
|
||||
@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
@ -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,
|
||||
|
||||
Reference in New Issue
Block a user