Merge lp:~percona-dev/percona-xtradb/extensions-1.0.6-fix-bug589639 into lp:~percona-dev/percona-xtradb/extensions-1.0.6

Proposed by Yasufumi Kinoshita
Status: Merged
Approved by: Vadim Tkachenko
Approved revision: 159
Merged at revision: 159
Proposed branch: lp:~percona-dev/percona-xtradb/extensions-1.0.6-fix-bug589639
Merge into: lp:~percona-dev/percona-xtradb/extensions-1.0.6
Diff against target: 63 lines (+52/-1)
1 file modified
innodb_recovery_patches.patch (+52/-1)
To merge this branch: bzr merge lp:~percona-dev/percona-xtradb/extensions-1.0.6-fix-bug589639
Reviewer Review Type Date Requested Status
Vadim Tkachenko Approve
Review via email: mp+26908@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Vadim Tkachenko (vadim-tk) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'innodb_recovery_patches.patch'
2--- innodb_recovery_patches.patch 2010-03-26 10:01:13 +0000
3+++ innodb_recovery_patches.patch 2010-06-07 08:35:32 +0000
4@@ -80,7 +80,58 @@
5
6 return(0);
7 }
8-@@ -620,11 +660,11 @@
9+@@ -606,6 +646,50 @@
10+ /* It is a single table tablespace and the .ibd file is
11+ missing: do nothing */
12+
13++ /* the log records should be treated here same reason
14++ for http://bugs.mysql.com/bug.php?id=43948 */
15++
16++ if (recv_recovery_is_on()) {
17++ recv_addr_t* recv_addr;
18++
19++ mutex_enter(&(recv_sys->mutex));
20++
21++ if (recv_sys->apply_log_recs == FALSE) {
22++ mutex_exit(&(recv_sys->mutex));
23++ goto not_to_recover;
24++ }
25++
26++ for (i = 0; i < n_stored; i++) {
27++ /* recv_get_fil_addr_struct() */
28++ recv_addr = HASH_GET_FIRST(recv_sys->addr_hash,
29++ hash_calc_hash(ut_fold_ulint_pair(space, page_nos[i]),
30++ recv_sys->addr_hash));
31++ while (recv_addr) {
32++ if ((recv_addr->space == space)
33++ && (recv_addr->page_no == page_nos[i])) {
34++ break;
35++ }
36++ recv_addr = HASH_GET_NEXT(addr_hash, recv_addr);
37++ }
38++
39++ if ((recv_addr == NULL)
40++ || (recv_addr->state == RECV_BEING_PROCESSED)
41++ || (recv_addr->state == RECV_PROCESSED)) {
42++ continue;
43++ }
44++
45++ recv_addr->state = RECV_PROCESSED;
46++
47++ ut_a(recv_sys->n_addrs);
48++ recv_sys->n_addrs--;
49++ }
50++
51++ mutex_exit(&(recv_sys->mutex));
52++
53++ fprintf(stderr, " (cannot find space: %lu)", space);
54++ }
55++not_to_recover:
56++
57+ return;
58+ }
59+
60+@@ -620,11 +704,11 @@
61 while (buf_pool->n_pend_reads >= recv_n_pool_free_frames / 2) {
62
63 os_aio_simulated_wake_handler_threads();

Subscribers

No one subscribed via source and target branches