Merge lp:~gaul/percona-server/purge-changed-page-bitmaps into lp:percona-server/5.6

Proposed by Andrew Gaul
Status: Rejected
Rejected by: Laurynas Biveinis
Proposed branch: lp:~gaul/percona-server/purge-changed-page-bitmaps
Merge into: lp:percona-server/5.6
Diff against target: 23 lines (+11/-2)
1 file modified
Percona-Server/storage/innobase/log/log0online.cc (+11/-2)
To merge this branch: bzr merge lp:~gaul/percona-server/purge-changed-page-bitmaps
Reviewer Review Type Date Requested Status
Laurynas Biveinis (community) Needs Resubmitting
Review via email: mp+198629@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Laurynas Biveinis (laurynas-biveinis) wrote :

The fix is being included in a modified form.

review: Needs Resubmitting
Revision history for this message
Andrew Gaul (gaul) wrote :

Unmerged revisions

509. By Andrew Gaul <email address hidden>

Consider end LSN when purging changed page bitmaps

Fixes: https://bugs.launchpad.net/percona-server/+bug/1260035

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'Percona-Server/storage/innobase/log/log0online.cc'
2--- Percona-Server/storage/innobase/log/log0online.cc 2013-09-25 06:04:21 +0000
3+++ Percona-Server/storage/innobase/log/log0online.cc 2013-12-11 18:57:57 +0000
4@@ -1797,8 +1797,17 @@
5 }
6
7 for (i = 0; i < bitmap_files.count; i++) {
8- if (bitmap_files.files[i].seq_num == 0
9- || bitmap_files.files[i].start_lsn >= lsn) {
10+ /* We consider the end LSN of the current bitmap, derived from
11+ the start LSN of the subsequent bitmap file, to determine
12+ whether to remove the current bitmap. Note that bitmap_files
13+ does not contain an entry for the bitmap past the given LSN so
14+ we must check the boundary conditions as well. For example,
15+ consider 1_0.xdb and 2_10.xdb and querying LSN 5. bitmap_files
16+ will only contain 1_0.xdb and we must not delete it since it
17+ represents LSNs 0-9. */
18+ if (i + 1 == bitmap_files.count
19+ || bitmap_files.files[i + 1].seq_num == 0
20+ || bitmap_files.files[i + 1].start_lsn >= lsn) {
21
22 break;
23 }

Subscribers

People subscribed via source and target branches