#At file:///home/andrei/MySQL/BZR/2a-23May/WL/mysql-next-mr-wl2540/ based on revid:andrei.elkin@stripped
3191 Andrei Elkin 2010-11-02
Bug #57893 rpl_row_ignorable_event fails when --binlog-checksum=CRC32
There were two issues with the failure:
1. The reported explicitly CRC32 `val' in the header needs filtering out via
--replace_regex
2. More serious is that at verbose mode of event decoding the checksum trailing part
of Rows-log-event:s was not cut off so the decoder decides there is more data.
Fixed with deploying --r--replace_regex in the test and correcting the actual event size
inside the verbose decoder of Log_event::print_base64().
@ sql/log_event.cc
correcting the actual event size of Rows-events in case of checksum is present.
modified:
sql/log_event.cc
=== modified file 'sql/log_event.cc'
--- a/sql/log_event.cc 2010-10-25 19:02:24 +0000
+++ b/sql/log_event.cc 2010-11-02 15:15:44 +0000
@@ -2338,6 +2338,9 @@ void Log_event::print_base64(IO_CACHE* f
if (print_event_info->verbose)
{
Rows_log_event *ev= NULL;
+ if (checksum_alg != BINLOG_CHECKSUM_ALG_UNDEF &&
+ checksum_alg != BINLOG_CHECKSUM_ALG_OFF)
+ size-= BINLOG_CHECKSUM_LEN; // checksum is displayed through the header
if (ptr[4] == TABLE_MAP_EVENT)
{
Attachment: [text/bzr-bundle] bzr/andrei.elkin@oracle.com-20101102151544-vbt33e1s8d5ihpw5.bundle
| Thread |
|---|
| • bzr commit into mysql-next-mr branch (andrei.elkin:3191) Bug#57893 | Andrei Elkin | 2 Nov |