fix sts cache go back problem
This commit is contained in:
@ -474,12 +474,17 @@ int ObAllTenantInfoCache::refresh_tenant_info(const uint64_t tenant_id,
|
||||
* During the switch to standby process, some LS may be in RO state. GTS & STS may not work.
|
||||
* This also ensures the consistency of tenant_role cache and the tenant role field in all_tenant_info
|
||||
*/
|
||||
MTL_SET_TENANT_ROLE(new_tenant_info.get_tenant_role().value());
|
||||
SpinWLockGuard guard(lock_);
|
||||
(void)tenant_info_.assign(new_tenant_info);
|
||||
last_sql_update_time_ = new_refresh_time_us;
|
||||
ora_rowscn_ = ora_rowscn;
|
||||
refreshed = true;
|
||||
if (ora_rowscn > ora_rowscn_) {
|
||||
MTL_SET_TENANT_ROLE(new_tenant_info.get_tenant_role().value());
|
||||
(void)tenant_info_.assign(new_tenant_info);
|
||||
last_sql_update_time_ = new_refresh_time_us;
|
||||
ora_rowscn_ = ora_rowscn;
|
||||
refreshed = true;
|
||||
} else {
|
||||
LOG_WARN("refresh tenant info conflict", K(new_tenant_info), K(new_refresh_time_us),
|
||||
K(tenant_id), K(tenant_info_), K(last_sql_update_time_), K(ora_rowscn_), K(ora_rowscn));
|
||||
}
|
||||
}
|
||||
|
||||
if (dump_tenant_info_interval_.reach()) {
|
||||
|
||||
Reference in New Issue
Block a user