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-issue-importer opened this issue Apr 2, 2008 · 11 comments

Comments

@firebird-issue-importer
Copy link

@firebird-issue-importer firebird-issue-importer commented Apr 2, 2008

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-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Apr 2, 2008

Commented by: Sean Leyne (seanleyne)

Vlad,

Please provide a better description/subject for this case.

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Apr 2, 2008

Modified by: Sean Leyne (seanleyne)

Link: This issue is related to CORE1300 [ CORE1300 ]

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Apr 2, 2008

Commented by: @hvlad

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

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Apr 2, 2008

Modified by: @hvlad

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

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Apr 2, 2008

Modified by: @hvlad

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

resolution: Fixed [ 1 ]

Fix Version: 2.5 Alpha 1 [ 10224 ]

assignee: Vlad Khorsun [ hvlad ]

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented May 2, 2008

Commented by: @hvlad

Added backport for 2.1.1
Backport for 2.0.5 will follow soon

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented May 2, 2008

Modified by: @hvlad

Fix Version: 2.1.1 [ 10223 ]

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented May 7, 2008

Commented by: @hvlad

Backported into 2.0.5

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented May 7, 2008

Modified by: @hvlad

Fix Version: 2.0.5 [ 10222 ]

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Sep 2, 2008

Modified by: @hvlad

Link: This issue relate to CORE2050 [ CORE2050 ]

@firebird-issue-importer
Copy link
Author

@firebird-issue-importer firebird-issue-importer commented Nov 18, 2008

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