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

More efficient solution for CORE-1300 (Lower level index pages is missed from parent page) [CORE1819] #2249

Closed
firebird-automations opened this issue Apr 2, 2008 · 11 comments

Comments

@firebird-automations
Copy link
Collaborator

Submitted by: @hvlad

Jira_subtask_inward CORE1300
Is related to CORE1300
Relate to CORE2050

There was 3 possible solutions offered for CORE1300 and first of them was committed into codebase :

> mark parent page with btr_dont_gc flag before CCH_HANDOFF and clear this mark after return from add_node
> Easy to implement but make additional page fetches with LCK_write lock which is not necessary in most cases.

There was (private) reports about performance loss in some specific scenarios so new solution was implemented :
Replace btr_dont_gc flag by special kind of lock and restore original page locking scheme.
Instead of set btr_dont_gc flag acquire shared lock with page number as a key.
Instead of clear btr_dont_gc flag release already acquired lock.
Instead of test for btr_dont_gc flag acquire exclusive lock with page number as a key in no-wait mode and release it immediately.

Acquiring of this new locks must be done only after page fetch, i.e. after obtaining page lock .

Commits: 2b31537 6602820 259fafa

@firebird-automations
Copy link
Collaborator Author

Commented by: Sean Leyne (seanleyne)

Vlad,

Please provide a better description/subject for this case.

@firebird-automations
Copy link
Collaborator Author

Modified by: Sean Leyne (seanleyne)

Link: This issue is related to CORE1300 [ CORE1300 ]

@firebird-automations
Copy link
Collaborator Author

Commented by: @hvlad

Sean,
i have no idea how to improve subject more ;)

@firebird-automations
Copy link
Collaborator Author

Modified by: @hvlad

summary: More efficient solution for CORE1300 => More efficient solution for CORE1300 (Lower level index pages is missed from parent page)

@firebird-automations
Copy link
Collaborator Author

Modified by: @hvlad

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

resolution: Fixed [ 1 ]

Fix Version: 2.5 Alpha 1 [ 10224 ]

assignee: Vlad Khorsun [ hvlad ]

@firebird-automations
Copy link
Collaborator Author

Commented by: @hvlad

Added backport for 2.1.1
Backport for 2.0.5 will follow soon

@firebird-automations
Copy link
Collaborator Author

Modified by: @hvlad

Fix Version: 2.1.1 [ 10223 ]

@firebird-automations
Copy link
Collaborator Author

Commented by: @hvlad

Backported into 2.0.5

@firebird-automations
Copy link
Collaborator Author

Modified by: @hvlad

Fix Version: 2.0.5 [ 10222 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @hvlad

Link: This issue relate to CORE2050 [ CORE2050 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @pcisar

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

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