We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
当涉及数据过多,索引创建涉及页的驱逐时,我们发现,存在页的page_num为-1。这会导致驱逐时的刷盘错误,或是该页永远无法被驱逐,会一直占用LRU的一个frame。
对日志进行打印,发现page_num被异常设置为-1.
对于新分配的Page_num,我们会将其设置为page_count数,理论上这是一个递增的过程,不应该出现page_num突然为-1的情况,因此推断为一个Bug。
file_header_->allocated_pages++; file_header_->page_count++; PageNum num = file_header_->page_count - 1;
The text was updated successfully, but these errors were encountered:
这个 bug 可能和 #17 有关,之前我也是在 Lab2 中测试大批量加入数据时发现的这个 bug。
具体原因是:
evict_all_pages
pin_count
ASSERT
FileBufferPool::allocate_page
page_num
TDB/src/server/storage_engine/buffer/buffer_pool.cpp
Lines 178 to 189 in 328df69
allocated_frame->clear_page();
由于 #19 已经修复了这个问题,把相关的 fix code 合并到 Lab2 的实现中应该能修复这个 bug。
Sorry, something went wrong.
明白了,Lab2 测试codebase是在这个pr之前的,那看来最新的commit里不会有这个问题
No branches or pull requests
当涉及数据过多,索引创建涉及页的驱逐时,我们发现,存在页的page_num为-1。这会导致驱逐时的刷盘错误,或是该页永远无法被驱逐,会一直占用LRU的一个frame。
对日志进行打印,发现page_num被异常设置为-1.

对于新分配的Page_num,我们会将其设置为page_count数,理论上这是一个递增的过程,不应该出现page_num突然为-1的情况,因此推断为一个Bug。
file_header_->allocated_pages++; file_header_->page_count++; PageNum num = file_header_->page_count - 1;
The text was updated successfully, but these errors were encountered: