Skip to content

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
Willaaaaaaa pushed a commit to Willaaaaaaa/miniob that referenced this pull request May 22, 2025
### 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_
中该线程的计数减一
jiahaonb pushed a commit to jiahaonb/miniob that referenced this pull request Jun 3, 2025
### 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_
中该线程的计数减一
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