Merge lp://qastaging/~stewart/percona-server/5.6-doublewrite into lp://qastaging/percona-server/5.6

Proposed by Stewart Smith
Status: Work in progress
Proposed branch: lp://qastaging/~stewart/percona-server/5.6-doublewrite
Merge into: lp://qastaging/percona-server/5.6
Diff against target: 1047 lines (+400/-55)
22 files modified
Percona-Server/mysql-test/suite/innodb/r/percona_innodb_doublewrite_file.result (+13/-0)
Percona-Server/mysql-test/suite/innodb/t/percona_innodb_doublewrite_file-master.opt (+1/-0)
Percona-Server/mysql-test/suite/innodb/t/percona_innodb_doublewrite_file.test (+12/-0)
Percona-Server/mysql-test/suite/sys_vars/r/innodb_doublewrite_file_basic.result (+3/-0)
Percona-Server/mysql-test/suite/sys_vars/t/innodb_doublewrite_file_basic-master.opt (+1/-0)
Percona-Server/mysql-test/suite/sys_vars/t/innodb_doublewrite_file_basic.test (+2/-0)
Percona-Server/storage/innobase/buf/buf0buf.cc (+2/-1)
Percona-Server/storage/innobase/buf/buf0dblwr.cc (+68/-26)
Percona-Server/storage/innobase/buf/buf0rea.cc (+3/-1)
Percona-Server/storage/innobase/dict/dict0load.cc (+3/-2)
Percona-Server/storage/innobase/fil/fil0fil.cc (+15/-14)
Percona-Server/storage/innobase/fsp/fsp0fsp.cc (+3/-3)
Percona-Server/storage/innobase/handler/ha_innodb.cc (+9/-0)
Percona-Server/storage/innobase/include/mtr0log.ic (+3/-2)
Percona-Server/storage/innobase/include/srv0srv.h (+2/-0)
Percona-Server/storage/innobase/include/srv0start.h (+3/-0)
Percona-Server/storage/innobase/include/trx0sys.h (+24/-0)
Percona-Server/storage/innobase/include/trx0sys.ic (+35/-0)
Percona-Server/storage/innobase/row/row0mysql.cc (+1/-1)
Percona-Server/storage/innobase/srv/srv0srv.cc (+2/-0)
Percona-Server/storage/innobase/srv/srv0start.cc (+163/-0)
Percona-Server/storage/innobase/trx/trx0sys.cc (+32/-5)
To merge this branch: bzr merge lp://qastaging/~stewart/percona-server/5.6-doublewrite
Reviewer Review Type Date Requested Status
Laurynas Biveinis (community) Needs Fixing
Review via email: mp+134040@code.qastaging.launchpad.net

Description of the change

Port innodb_doublewrite_file over to PS 5.6

To post a comment you must log in.
Revision history for this message
Laurynas Biveinis (laurynas-biveinis) wrote :

I have logged bugs for the review points that apply to 5.1 and 5.5 too.

I think that for 5.6 everything except for bug 1078181 must be fixed at the MP.

- The main issue with this feature in general is bug 1078181.
- The testcase must do some actual work with data pages. For
  example, the workload must be larger than the log capacity. (bug
  1078187).
- The sys_vars testcase should be a bit more involved. (bug 1078188).
- trx_sys_doublewrite_space() should be used everywhere it
  applies. (bug 1078191).
- buf_dblwr_get space_id arg should have comment.
- buf_dblwr_create_low header should follow InnoDB coding style.
- s/SRV_LOG_SPACE_FIRST_ID/SRV_EXTRA_SYS_SPACE_FIRST_ID in several
  places (bug 1078201).
- Chunk at 410--411 looks wrong: fil_is_user_tablespace_id looks like
  a correct check already.
- Bogus UNIV_LIKELY/UNIV_UNLIKELY (bug 1078206).
- trx_sys_dummy_create() is missing comments and misformatted in
  trx0sys.h.
- For initalizations like at 255--261 and 296--302 personally I prefer
  the ternary operator.
- trx_sys_sys_space has wrong header comment. "Check if a space is a
  system tablespace", likewise for trx_sys_doublewrite_space.
- Style violation at line 766.
- Too long lines at 769+, 780, 822, 825+, 857, 874
- Spurious diff at lines 428, 436, 495, 507, 576.

review: Needs Fixing

Unmerged revisions

310. By Stewart Smith

Port innodb_doublewrite_file to Percona Server 5.6

This was a little bit involved as the doublewrite buffer code has been
refactored in MySQL 5.6 out into buf0dblwr.cc.

One design difference in the 5.6 patch versus 5.5 and before is that where
InnoDB code has needed to be duplicated, I have instead refactored that code
to accept tablespace id as a parameter rather than copy&pasting it. With
this method, we should get merge conflicts if this code is changed upstream,
making it easier to ensure our end result code is correct.

309. By Stewart Smith

merge 5.6.7

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches