Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

修复 Frame 被同一线程多次加读锁后锁无法释放的 BUG #458

Merged
merged 1 commit into from
Oct 14, 2024

Conversation

Patrick16262
Copy link
Contributor

What problem were solved in this pull request?

在 Frame 类中,开启 DEBUG 模式下,如果同一个线程对同一个页面多次加读锁,read_lockers_ 中的计数就无法被清除了,这会导致 ASSERT 失败。

What is changed and how it works?

我添加了以下逻辑:
在 Frame::read_unlatch 方法中,当 recursive_count != 1 时,将 read_lockers_ 中该线程的计数减一

@CLAassistant
Copy link

CLAassistant commented Oct 12, 2024

CLA assistant check
All committers have signed the CLA.

@hnwyllmm hnwyllmm merged commit 53c72d6 into oceanbase:main Oct 14, 2024
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants