Fix the concurrency error that occurs when creating a group
This commit is contained in:
parent
5361d527e5
commit
b7e97b6631
@ -2474,9 +2474,13 @@ int ObMClockQueue::remove_from_heap(ObPhyQueue *phy_queue)
|
||||
} else if (-1 == phy_queue->reservation_pos_
|
||||
|| (-1 == phy_queue->limitation_pos_ && -1 == phy_queue->proportion_pos_)) {
|
||||
ret = OB_ERR_UNEXPECTED;
|
||||
LOG_WARN("invalid status", K(phy_queue->reservation_pos_),
|
||||
K(phy_queue->limitation_pos_),
|
||||
K(phy_queue->proportion_pos_));
|
||||
LOG_WARN("phy_queue is not in heaps of reservation, proportion and limitation",
|
||||
K(phy_queue),
|
||||
K(*this),
|
||||
K(ret),
|
||||
K(phy_queue->reservation_pos_),
|
||||
K(phy_queue->limitation_pos_),
|
||||
K(phy_queue->proportion_pos_));
|
||||
} else if (OB_FAIL(r_heap_.remove(phy_queue))) {
|
||||
LOG_WARN("remove phy queue from r heap failed", K(ret));
|
||||
} else if (FALSE_IT(phy_queue->reservation_pos_ = -1)) {
|
||||
|
@ -1341,12 +1341,12 @@ int ObIOSender::update_group_queue(const uint64_t tenant_id, const int64_t group
|
||||
} else if (FALSE_IT(tmp_phyqueue = new (buf) ObPhyQueue())) {
|
||||
} else if (OB_FAIL(tmp_phyqueue->init(i))) {
|
||||
LOG_WARN("init io phy_queue failed", K(ret), K(i), K(*tmp_phyqueue));
|
||||
} else if (OB_FAIL(io_group_queues->group_phy_queues_.push_back(tmp_phyqueue))) {
|
||||
LOG_WARN("push back io sender failed", K(ret), K(i), K(*tmp_phyqueue));
|
||||
} else if (OB_FAIL(enqueue_phy_queue(*tmp_phyqueue))) {
|
||||
LOG_WARN("new queue into heap failed", K(ret));
|
||||
} else if (OB_FAIL(io_group_queues->group_phy_queues_.push_back(tmp_phyqueue))) {
|
||||
LOG_WARN("push back io sender failed", K(ret), K(i), K(*tmp_phyqueue));
|
||||
} else {
|
||||
LOG_INFO("add phy queue success", K(tenant_id), K(cur_num), K(group_num));
|
||||
LOG_INFO("add phy queue success", K(tenant_id), K(i), K(tmp_phyqueue), K(cur_num), K(group_num));
|
||||
}
|
||||
if (OB_FAIL(ret) && nullptr != tmp_phyqueue) {
|
||||
tmp_phyqueue->~ObPhyQueue();
|
||||
|
Loading…
x
Reference in New Issue
Block a user