do not calc_tablet_attr when the addrs of tablets persistence-equivalent

This commit is contained in:
obdev 2023-11-29 11:41:36 +00:00 committed by ob-robot
parent 5bc6db2579
commit 753da38fe9
2 changed files with 9 additions and 5 deletions

View File

@ -2242,8 +2242,6 @@ int ObLSTabletService::create_memtable(
ObTabletHandle old_tablet_handle;
const ObTabletMapKey key(ls_->get_ls_id(), tablet_id);
ObTabletHandle new_tablet_handle;
ObTabletMemberWrapper<ObTabletTableStore> table_store;
ObTabletMemberWrapper<share::ObTabletAutoincSeq> autoinc_seq;
ObTimeGuard time_guard("ObLSTabletService::create_memtable", 10_ms);
if (OB_UNLIKELY(!is_inited_)) {

View File

@ -693,11 +693,17 @@ int ObTabletPointerMap::compare_and_swap_addr_and_object(
}
if (OB_SUCC(ret)) {
t_ptr->set_addr_with_reset_obj(new_addr);
t_ptr->set_obj(new_guard);
if (OB_FAIL(t_ptr->set_tablet_attr(*new_guard.get_obj()))) {
if (t_ptr->get_addr().is_equal_for_persistence(new_addr)) {
// no need to update tablet attr, including creating memtables or updating the same tablets
STORAGE_LOG(DEBUG, "no need to update tablet attr", K(ret), K(new_addr), K(t_ptr->get_addr()), K(new_guard), K(old_guard));
} else if (OB_FAIL(t_ptr->set_tablet_attr(*new_guard.get_obj()))) {
STORAGE_LOG(WARN, "failed to update tablet attr", K(ret), K(key), K(new_addr), K(new_guard));
}
if (OB_SUCC(ret)) {
t_ptr->set_addr_with_reset_obj(new_addr);
t_ptr->set_obj(new_guard);
}
}
}