Merge lp:~percona-dev/percona-server/5.1.57-bug684829_bug791092 into lp:~percona-dev/percona-server/5.1.57

Proposed by Yasufumi Kinoshita on 2011-06-06
Status: Merged
Merge reported by: Alexey Kopytov
Merged at revision: not available
Proposed branch: lp:~percona-dev/percona-server/5.1.57-bug684829_bug791092
Merge into: lp:~percona-dev/percona-server/5.1.57
Diff against target: 168 lines (+44/-11)
4 files modified
innodb_expand_import.patch (+27/-0)
innodb_pass_corrupt_table.patch (+2/-2)
innodb_separate_doublewrite.patch (+1/-1)
innodb_stats.patch (+14/-8)
To merge this branch: bzr merge lp:~percona-dev/percona-server/5.1.57-bug684829_bug791092
Reviewer Review Type Date Requested Status
Percona developers 2011-06-08 Pending
Stewart Smith 2011-06-06 Pending
Review via email: mp+63512@code.launchpad.net
To post a comment you must log in.

This MP is just remained for memo.
It will be merged when porting to 5.1.58.
After that this MP will be removed.

Alexey Kopytov (akopytov) wrote :

Merged to 5.1.57-12.8.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'innodb_expand_import.patch'
2--- innodb_expand_import.patch 2011-03-31 08:37:59 +0000
3+++ innodb_expand_import.patch 2011-06-06 03:20:54 +0000
4@@ -558,6 +558,33 @@
5 extern ulint srv_extra_rsegments;
6 extern ulint srv_dict_size_limit;
7 /*-------------------------------------------*/
8+diff -ruN a/storage/innodb_plugin/row/row0mysql.c b/storage/innodb_plugin/row/row0mysql.c
9+--- a/storage/innodb_plugin/row/row0mysql.c 2011-04-12 21:11:37.000000000 +0900
10++++ b/storage/innodb_plugin/row/row0mysql.c 2011-06-06 11:14:43.838896479 +0900
11+@@ -2520,6 +2520,11 @@
12+
13+ current_lsn = log_get_lsn();
14+
15++ /* Enlarge the fatal lock wait timeout during import. */
16++ mutex_enter(&kernel_mutex);
17++ srv_fatal_semaphore_wait_threshold += 7200; /* 2 hours */
18++ mutex_exit(&kernel_mutex);
19++
20+ /* It is possible, though very improbable, that the lsn's in the
21+ tablespace to be imported have risen above the current system lsn, if
22+ a lengthy purge, ibuf merge, or rollback was performed on a backup
23+@@ -2631,6 +2636,11 @@
24+
25+ trx->op_info = "";
26+
27++ /* Restore the fatal semaphore wait timeout */
28++ mutex_enter(&kernel_mutex);
29++ srv_fatal_semaphore_wait_threshold -= 7200; /* 2 hours */
30++ mutex_exit(&kernel_mutex);
31++
32+ return((int) err);
33+ }
34+
35 diff -ruN a/storage/innodb_plugin/srv/srv0srv.c b/storage/innodb_plugin/srv/srv0srv.c
36 --- a/storage/innodb_plugin/srv/srv0srv.c 2010-04-29 18:58:20.000000000 +0900
37 +++ b/storage/innodb_plugin/srv/srv0srv.c 2010-04-30 10:28:05.000000000 +0900
38
39=== modified file 'innodb_pass_corrupt_table.patch'
40--- innodb_pass_corrupt_table.patch 2011-05-10 07:31:20 +0000
41+++ innodb_pass_corrupt_table.patch 2011-06-06 03:20:54 +0000
42@@ -489,7 +489,7 @@
43 goto next_loop;
44
45 cached_foreign_tables = 0;
46-@@ -4651,6 +4652,11 @@
47+@@ -4657,6 +4658,11 @@
48 }
49
50 do {
51@@ -501,7 +501,7 @@
52 if (UNIV_LIKELY
53 (srv_force_recovery < SRV_FORCE_NO_IBUF_MERGE
54 || (srv_force_recovery < SRV_FORCE_NO_LOG_REDO
55-@@ -5454,4 +5460,42 @@
56+@@ -5460,4 +5466,42 @@
57 rw_lock_free(&dict_table_stats_latches[i]);
58 }
59 }
60
61=== modified file 'innodb_separate_doublewrite.patch'
62--- innodb_separate_doublewrite.patch 2011-05-10 07:31:20 +0000
63+++ innodb_separate_doublewrite.patch 2011-06-06 03:20:54 +0000
64@@ -529,7 +529,7 @@
65 diff -ruN a/storage/innodb_plugin/row/row0mysql.c b/storage/innodb_plugin/row/row0mysql.c
66 --- a/storage/innodb_plugin/row/row0mysql.c 2010-08-27 16:22:04.287058274 +0900
67 +++ b/storage/innodb_plugin/row/row0mysql.c 2010-08-27 16:37:55.410993060 +0900
68-@@ -3391,7 +3391,7 @@
69+@@ -3401,7 +3401,7 @@
70 /* Do not drop possible .ibd tablespace if something went
71 wrong: we do not want to delete valuable data of the user */
72
73
74=== modified file 'innodb_stats.patch'
75--- innodb_stats.patch 2011-05-23 03:13:45 +0000
76+++ innodb_stats.patch 2011-06-06 03:20:54 +0000
77@@ -359,7 +359,7 @@
78 }
79
80 return(table);
81-@@ -4282,6 +4282,307 @@
82+@@ -4282,6 +4282,313 @@
83 }
84
85 /*********************************************************************//**
86@@ -604,6 +604,8 @@
87 + break;
88 + }
89 +
90++ btr_pcur_store_position(&pcur, &mtr);
91++
92 + if (rec_get_deleted_flag(rec, 0)) {
93 + /* don't count */
94 + i--;
95@@ -644,6 +646,10 @@
96 + rests--;
97 +
98 +next_rec:
99++ mtr_commit(&mtr);
100++ mtr_start(&mtr);
101++ btr_pcur_restore_position(BTR_MODIFY_LEAF, &pcur, &mtr);
102++
103 + btr_pcur_move_to_next_user_rec(&pcur, &mtr);
104 + }
105 + btr_pcur_close(&pcur);
106@@ -667,7 +673,7 @@
107 Calculates new estimates for table and index statistics. The statistics
108 are used in query optimization. */
109 UNIV_INTERN
110-@@ -4289,10 +4590,11 @@
111+@@ -4289,10 +4596,11 @@
112 dict_update_statistics(
113 /*===================*/
114 dict_table_t* table, /*!< in/out: table */
115@@ -680,7 +686,7 @@
116 {
117 dict_index_t* index;
118 ulint sum_of_index_sizes = 0;
119-@@ -4309,6 +4611,27 @@
120+@@ -4309,6 +4617,27 @@
121 return;
122 }
123
124@@ -708,7 +714,7 @@
125 /* Find out the sizes of the indexes and how many different values
126 for the key they approximately have */
127
128-@@ -4373,6 +4696,11 @@
129+@@ -4373,6 +4702,11 @@
130 index = dict_table_get_next_index(index);
131 } while (index);
132
133@@ -720,7 +726,7 @@
134 index = dict_table_get_first_index(table);
135
136 table->stat_n_rows = index->stat_n_diff_key_vals[
137-@@ -4390,6 +4718,78 @@
138+@@ -4390,6 +4724,78 @@
139 dict_table_stats_unlock(table, RW_X_LATCH);
140 }
141
142@@ -799,7 +805,7 @@
143 /**********************************************************************//**
144 Prints info of a foreign key constraint. */
145 static
146-@@ -4467,7 +4867,7 @@
147+@@ -4467,7 +4873,7 @@
148
149 ut_ad(mutex_own(&(dict_sys->mutex)));
150
151@@ -1710,7 +1716,7 @@
152 Scans a table create SQL string and adds to the data dictionary
153 the foreign key constraints declared in the string. This function
154 should be called after the indexes for a table have been created.
155-@@ -2966,7 +3034,7 @@
156+@@ -2976,7 +3044,7 @@
157 dict_table_autoinc_initialize(table, 1);
158 dict_table_autoinc_unlock(table);
159 dict_update_statistics(table, FALSE /* update even if stats are
160@@ -1719,7 +1725,7 @@
161
162 trx_commit_for_mysql(trx);
163
164-@@ -3268,6 +3336,8 @@
165+@@ -3278,6 +3346,8 @@
166 " IF (SQL % NOTFOUND) THEN\n"
167 " found := 0;\n"
168 " ELSE\n"

Subscribers

People subscribed via source and target branches