Merge lp:~percona-dev/percona-server/release-5.1.53-fix_bug690144 into lp:~percona-dev/percona-server/release-5.1.53

Proposed by Yasufumi Kinoshita
Status: Merged
Approved by: Vadim Tkachenko
Approved revision: no longer in the source branch.
Merged at revision: 172
Proposed branch: lp:~percona-dev/percona-server/release-5.1.53-fix_bug690144
Merge into: lp:~percona-dev/percona-server/release-5.1.53
Diff against target: 108 lines (+47/-14)
4 files modified
innodb_buffer_pool_shm.patch (+1/-1)
innodb_fix_misc.patch (+1/-1)
innodb_pass_corrupt_table.patch (+1/-1)
innodb_separate_doublewrite.patch (+44/-11)
To merge this branch: bzr merge lp:~percona-dev/percona-server/release-5.1.53-fix_bug690144
Reviewer Review Type Date Requested Status
Vadim Tkachenko Approve
Review via email: mp+43729@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Vadim Tkachenko (vadim-tk) wrote :

OK

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'innodb_buffer_pool_shm.patch'
2--- innodb_buffer_pool_shm.patch 2010-12-14 08:51:49 +0000
3+++ innodb_buffer_pool_shm.patch 2010-12-15 02:21:43 +0000
4@@ -1125,7 +1125,7 @@
5 diff -ruN a/storage/innodb_plugin/srv/srv0start.c b/storage/innodb_plugin/srv/srv0start.c
6 --- a/storage/innodb_plugin/srv/srv0start.c 2010-07-14 16:33:23.851391514 +0900
7 +++ b/storage/innodb_plugin/srv/srv0start.c 2010-07-14 16:40:16.180321173 +0900
8-@@ -1708,6 +1708,8 @@
9+@@ -1724,6 +1724,8 @@
10 Note that this is not as heavy weight as it seems. At
11 this point there will be only ONE page in the buf_LRU
12 and there must be no page in the buf_flush list. */
13
14=== modified file 'innodb_fix_misc.patch'
15--- innodb_fix_misc.patch 2010-12-14 08:51:49 +0000
16+++ innodb_fix_misc.patch 2010-12-15 02:21:43 +0000
17@@ -113,7 +113,7 @@
18 diff -ruN a/storage/innodb_plugin/srv/srv0start.c b/storage/innodb_plugin/srv/srv0start.c
19 --- a/storage/innodb_plugin/srv/srv0start.c 2010-04-30 16:37:05.000000000 +0900
20 +++ b/storage/innodb_plugin/srv/srv0start.c 2010-04-30 16:41:46.000000000 +0900
21-@@ -1967,7 +1967,7 @@
22+@@ -1986,7 +1986,7 @@
23 if (srv_print_verbose_log) {
24 ut_print_timestamp(stderr);
25 fprintf(stderr,
26
27=== modified file 'innodb_pass_corrupt_table.patch'
28--- innodb_pass_corrupt_table.patch 2010-12-14 08:51:49 +0000
29+++ innodb_pass_corrupt_table.patch 2010-12-15 02:21:43 +0000
30@@ -1354,7 +1354,7 @@
31 diff -ruN a/storage/innodb_plugin/srv/srv0start.c b/storage/innodb_plugin/srv/srv0start.c
32 --- a/storage/innodb_plugin/srv/srv0start.c 2010-08-27 16:38:38.290021700 +0900
33 +++ b/storage/innodb_plugin/srv/srv0start.c 2010-08-27 16:39:03.052021423 +0900
34-@@ -1955,6 +1955,13 @@
35+@@ -1974,6 +1974,13 @@
36
37 os_fast_mutex_free(&srv_os_test_mutex);
38
39
40=== modified file 'innodb_separate_doublewrite.patch'
41--- innodb_separate_doublewrite.patch 2010-12-14 08:51:49 +0000
42+++ innodb_separate_doublewrite.patch 2010-12-15 02:21:43 +0000
43@@ -720,21 +720,54 @@
44 #ifdef UNIV_LOG_ARCHIVE
45 &min_arch_log_no, &max_arch_log_no,
46 #endif /* UNIV_LOG_ARCHIVE */
47-@@ -1629,6 +1769,14 @@
48+@@ -1504,6 +1644,15 @@
49+ mtr_commit(&mtr);
50+
51+ trx_sys_create();
52++
53++ if (create_new_doublewrite_file) {
54++ mtr_start(&mtr);
55++ fsp_header_init(TRX_DOUBLEWRITE_SPACE, TRX_SYS_DOUBLEWRITE_BLOCK_SIZE * 9, &mtr);
56++ mtr_commit(&mtr);
57++
58++ trx_sys_dummy_create(TRX_DOUBLEWRITE_SPACE);
59++ }
60++
61+ dict_create();
62+ srv_startup_is_before_trx_rollback_phase = FALSE;
63+
64+@@ -1541,6 +1690,13 @@
65+ recv_recovery_from_archive_finish();
66+ #endif /* UNIV_LOG_ARCHIVE */
67+ } else {
68++ char* save_srv_doublewrite_file = NULL;
69++
70++ if (create_new_doublewrite_file) {
71++ /* doublewrite_file cannot be used for recovery yet. */
72++ save_srv_doublewrite_file = srv_doublewrite_file;
73++ srv_doublewrite_file = NULL;
74++ }
75+
76+ /* Check if we support the max format that is stamped
77+ on the system tablespace.
78+@@ -1627,6 +1783,17 @@
79+ we have finished the recovery process so that the
80+ image of TRX_SYS_PAGE_NO is not stale. */
81 trx_sys_file_format_tag_init();
82++
83++ if (create_new_doublewrite_file) {
84++ /* restore the value */
85++ srv_doublewrite_file = save_srv_doublewrite_file;
86++
87++ mtr_start(&mtr);
88++ fsp_header_init(TRX_DOUBLEWRITE_SPACE, TRX_SYS_DOUBLEWRITE_BLOCK_SIZE * 9, &mtr);
89++ mtr_commit(&mtr);
90++
91++ trx_sys_dummy_create(TRX_DOUBLEWRITE_SPACE);
92++ }
93 }
94
95-+ if (create_new_doublewrite_file) {
96-+ mtr_start(&mtr);
97-+ fsp_header_init(TRX_DOUBLEWRITE_SPACE, TRX_SYS_DOUBLEWRITE_BLOCK_SIZE * 9, &mtr);
98-+ mtr_commit(&mtr);
99-+
100-+ trx_sys_dummy_create(TRX_DOUBLEWRITE_SPACE);
101-+ }
102-+
103 if (!create_new_db && sum_of_new_sizes > 0) {
104- /* New data file(s) were added */
105- mtr_start(&mtr);
106 diff -ruN a/storage/innodb_plugin/trx/trx0sys.c b/storage/innodb_plugin/trx/trx0sys.c
107 --- a/storage/innodb_plugin/trx/trx0sys.c 2010-08-27 16:23:31.045058700 +0900
108 +++ b/storage/innodb_plugin/trx/trx0sys.c 2010-08-27 16:37:55.421992951 +0900

Subscribers

People subscribed via source and target branches

to all changes: