Commit 3b6b4bf
Venkatesh Duggirala
BUG#20938915 2PC SUCCEEDS EVEN THOUGH BINLOG FLUSH/SYNC FAILS
Problem: When flushing cache to binary log fails, the error is not getting
caught by group commit logic.
Analysis: Leader of a group in group commit logic tries to flush cache to
binary log file. If it fails (which is very rarely happens due to some low
level errors like disk failure or disk full), error is thrown to the higher
level. This error is not checked properly and the transaction is getting
committed in storage engine as the error is not checked and not propagated
to the higher level. No error to client and no information in binary logs
is making users to get confused when they see inconsistencies between Master
and Slave data.
Fix: Using binlog_error_action variable, Server will decide the action to do
if this situation happens.
If binlog_error_action == ABORT_SERVER, then it will abort the server after
informing the client with 'ER_BINLOGGING_IMPOSSIBLE' error.
If binlog_error_action == 'IGNORE_ERROR', then it will ignore the error
and disable the binlogging further until server is restarted again.
The same will be mentioned in the error log file.1 parent e0e1f02 commit 3b6b4bf
4 files changed
Lines changed: 85 additions & 3 deletions
File tree
- mysql-test/suite/binlog
- r
- t
- sql
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| 9 | + | |
| 10 | + | |
9 | 11 | | |
10 | 12 | | |
11 | 13 | | |
| |||
59 | 61 | | |
60 | 62 | | |
61 | 63 | | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
62 | 77 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
33 | 33 | | |
34 | 34 | | |
35 | 35 | | |
36 | | - | |
| 36 | + | |
| 37 | + | |
37 | 38 | | |
38 | 39 | | |
39 | 40 | | |
| |||
135 | 136 | | |
136 | 137 | | |
137 | 138 | | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
138 | 168 | | |
139 | 169 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3359 | 3359 | | |
3360 | 3360 | | |
3361 | 3361 | | |
| 3362 | + | |
| 3363 | + | |
3362 | 3364 | | |
3363 | 3365 | | |
3364 | 3366 | | |
| |||
5000 | 5002 | | |
5001 | 5003 | | |
5002 | 5004 | | |
| 5005 | + | |
| 5006 | + | |
5003 | 5007 | | |
5004 | 5008 | | |
5005 | 5009 | | |
| |||
6775 | 6779 | | |
6776 | 6780 | | |
6777 | 6781 | | |
6778 | | - | |
6779 | | - | |
| 6782 | + | |
| 6783 | + | |
| 6784 | + | |
| 6785 | + | |
| 6786 | + | |
| 6787 | + | |
| 6788 | + | |
| 6789 | + | |
| 6790 | + | |
| 6791 | + | |
| 6792 | + | |
| 6793 | + | |
| 6794 | + | |
| 6795 | + | |
| 6796 | + | |
| 6797 | + | |
| 6798 | + | |
| 6799 | + | |
| 6800 | + | |
| 6801 | + | |
| 6802 | + | |
| 6803 | + | |
| 6804 | + | |
| 6805 | + | |
| 6806 | + | |
| 6807 | + | |
| 6808 | + | |
| 6809 | + | |
| 6810 | + | |
| 6811 | + | |
| 6812 | + | |
| 6813 | + | |
| 6814 | + | |
6780 | 6815 | | |
6781 | 6816 | | |
6782 | 6817 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1617 | 1617 | | |
1618 | 1618 | | |
1619 | 1619 | | |
| 1620 | + | |
| 1621 | + | |
1620 | 1622 | | |
1621 | 1623 | | |
1622 | 1624 | | |
| |||
0 commit comments