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

Error page NNN is of wrong type (expected 7, found N) [CORE2684] #3087

Closed
firebird-automations opened this issue Oct 14, 2009 · 5 comments
Closed

Comments

@firebird-automations
Copy link
Collaborator

Submitted by: @hvlad

BTR\garbage_collect() fetched parent, left, gc and right pages to do its job.

Parent page number is passed into garbage_collect() as parameter and this page is fetched as pag_undefined with verification after the fetch that it is still belongs to the index.

Left page number was stored in variable while gc_page was locked. When left page is fetched it is assumed that its is still index page but this is wrong assumption.
At this point we can have "wrong page type" error.

Solution is to fetch left page the same way as parent page - as pag_undefined with verification it is still belongs to the index.

gc_page and right pages fetched as pag_index pages and it is safe as page numbers got from the currently locked left and gc_page accordingly.

Commits: d7f1301 e3eaa90 2c59722 19e817c

@firebird-automations
Copy link
Collaborator Author

Modified by: @hvlad

assignee: Vlad Khorsun [ hvlad ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @hvlad

status: Open [ 1 ] => Resolved [ 5 ]

resolution: Fixed [ 1 ]

Fix Version: 2.5 RC1 [ 10362 ]

Fix Version: 2.1.4 [ 10361 ]

Fix Version: 2.0.6 [ 10303 ]

Fix Version: 3.0 Alpha 1 [ 10331 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @pcisar

status: Resolved [ 5 ] => Closed [ 6 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

QA Status: No test

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

status: Closed [ 6 ] => Closed [ 6 ]

QA Status: No test => Not enough information

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment