[CP] fix some optimizer stats bug

This commit is contained in:
wangt1xiuyi
2024-04-08 07:24:46 +00:00
committed by ob-robot
parent 648c9b98b5
commit 73cc1ad061
7 changed files with 116 additions and 75 deletions

View File

@ -1143,15 +1143,20 @@ OB_NOINLINE int ObDASLocationRouter::get_vt_ls_location(uint64_t table_id,
return ret;
}
bool ObDASLocationRouter::is_refresh_location_error(int err_no) const
{
return is_master_changed_error(err_no) ||
is_partition_change_error(err_no) ||
is_get_location_timeout_error(err_no) ||
is_server_down_error(err_no) ||
is_has_no_readable_replica_err(err_no) ||
is_unit_migrate(err_no);
}
void ObDASLocationRouter::refresh_location_cache_by_errno(bool is_nonblock, int err_no)
{
NG_TRACE_TIMES(1, get_location_cache_begin);
if (is_master_changed_error(err_no)
|| is_partition_change_error(err_no)
|| is_get_location_timeout_error(err_no)
|| is_server_down_error(err_no)
|| is_has_no_readable_replica_err(err_no)
|| is_unit_migrate(err_no)) {
if (is_refresh_location_error(err_no)) {
// Refresh tablet ls mapping and ls locations according to err_no.
//
// The timeout has been set inner the interface when renewing location synchronously.

View File

@ -331,6 +331,7 @@ public:
}
int save_success_task(const common::ObTabletID &succ_id)
{ return succ_tablet_list_.push_back(succ_id); }
bool is_refresh_location_error(int err_no) const;
TO_STRING_KV(K(all_tablet_list_));
private:
int get_vt_svr_pair(uint64_t vt_id, const VirtualSvrPair *&vt_svr_pair);