vinchen <notifications@github.com> writes:
The new code is here: https://github.com/vinchen/server/commits/GCSAdmin-10.2-binlog-compressed2-2
And added two fixed: 1.Avoid overflowing buffers in case of corrupt events 2.Check the compressed algorithm.
Looks fine, thanks for fixing this. I have now merged and pushed this to MariaDB 10.2.
Rows_log_event::write_data_body(). I *think* the reason for that is that the SQL thread never sees the compressed events (they are uncompressed by the IO thread), but I would like your confirmation that my understanding is correct.
3. Did you think about testing that BINLOG statements with compressed
As mentioned above, the compressed events would uncompressed in constructor in SQL thread.
Right, thanks, I understand now. So the BINLOG statements in the output of mysqlbinlog have the uncompressed data. This makes sense, just like the SQL queries are uncompressed before being output by mysqlbinlog. So in fact, one change I suggested is wrong, to accept compressed event types in BINLOG statements. So I reverted this change again, and also added some test cases: https://github.com/MariaDB/server/commit/56a041cde657e5618c519a3c50e8075136d... BTW, I think this is recently merged code (from the delayed replication feature) that would not have appeared in your original patch. Thanks for the explanation to help me understand this. I also fixed a .result file - this is a failure that would only show up when running the test suite with --embedded: https://github.com/MariaDB/server/commit/3c0ff6153f75bb8e63c08ff3c8282355129... So I think everything should be fine now and this should appear in MariaDB 10.2.3, if I understand correctly. Once again thanks for the patch. It was a pleasure to see a replication addition that was so well done, and with so much attention to detail. - Kristian.