clear expired lease in replay dup_table lease log
This commit is contained in:
@ -225,14 +225,19 @@ int ObDupTableLSLeaseMgr::deserialize_lease_log(DupTableLeaseItemArray &lease_he
|
|||||||
} else if (OB_FAIL(lease_header_array.push_back(DupTableLeaseItem(
|
} else if (OB_FAIL(lease_header_array.push_back(DupTableLeaseItem(
|
||||||
lease_log_header, leader_lease_info.confirmed_lease_info_)))) {
|
lease_log_header, leader_lease_info.confirmed_lease_info_)))) {
|
||||||
DUP_TABLE_LOG(WARN, "push back leader_lease_info failed", K(ret), K(leader_lease_info));
|
DUP_TABLE_LOG(WARN, "push back leader_lease_info failed", K(ret), K(leader_lease_info));
|
||||||
} else if (OB_FALSE_IT(leader_lease_info.lease_expired_ts_ =
|
} else {
|
||||||
leader_lease_info.confirmed_lease_info_.request_ts_
|
if (lease_header_array.count() == 1) {
|
||||||
+ leader_lease_info.confirmed_lease_info_.lease_interval_us_)) {
|
//rewrite all leader lease infos on a follower by the new lease log
|
||||||
// do nothing
|
leader_lease_map_.reuse();
|
||||||
} else if (OB_FAIL(leader_lease_map_.set_refactored(lease_log_header.get_lease_owner(),
|
}
|
||||||
leader_lease_info, 1))) {
|
leader_lease_info.lease_expired_ts_ =
|
||||||
DUP_TABLE_LOG(WARN, "insert into leader_lease_map_ for replay failed", K(ret),
|
leader_lease_info.confirmed_lease_info_.request_ts_
|
||||||
K(lease_log_header), K(leader_lease_info));
|
+ leader_lease_info.confirmed_lease_info_.lease_interval_us_;
|
||||||
|
if (OB_FAIL(leader_lease_map_.set_refactored(lease_log_header.get_lease_owner(),
|
||||||
|
leader_lease_info, 1))) {
|
||||||
|
DUP_TABLE_LOG(WARN, "insert into leader_lease_map_ for replay failed", K(ret),
|
||||||
|
K(lease_log_header), K(leader_lease_info));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -757,6 +762,7 @@ bool ObDupTableLSLeaseMgr::LeaseReqCacheHandler::operator()(
|
|||||||
item.durable_lease_.request_ts_ = hash_pair.second.cache_lease_req_.request_ts_;
|
item.durable_lease_.request_ts_ = hash_pair.second.cache_lease_req_.request_ts_;
|
||||||
item.durable_lease_.lease_interval_us_ = hash_pair.second.cache_lease_req_.lease_interval_us_;
|
item.durable_lease_.lease_interval_us_ = hash_pair.second.cache_lease_req_.lease_interval_us_;
|
||||||
} else if (loop_start_time_ >= hash_pair.second.lease_expired_ts_) {
|
} else if (loop_start_time_ >= hash_pair.second.lease_expired_ts_) {
|
||||||
|
renew_lease_count_++;
|
||||||
DUP_TABLE_LOG(INFO, "remove expired lease follower from map", K(ret), K(will_remove),
|
DUP_TABLE_LOG(INFO, "remove expired lease follower from map", K(ret), K(will_remove),
|
||||||
K(hash_pair.first), K(hash_pair.second));
|
K(hash_pair.first), K(hash_pair.second));
|
||||||
will_remove = true;
|
will_remove = true;
|
||||||
|
Reference in New Issue
Block a user