Jonas Oreland <jonaso@google.com> writes:
i addressed your comments and I uploaded 2 new patches to JIRA. 1) a new "complete patch" 2) a patch that is changes from v1 to v2.
the problem was that I didn't update info->last_pos and linfo->pos correctly in send_format_descriptor_event so the offsets were wrong (in the old file)...how ever the result file still changes, since the old code was also incorrect :-)
this also made me find a bug that when seeking i forgot to update linfo->pos
Ok, cool.
ok, I readded the assert, and the code crashed on the slave side. I updated comment with stack trace, but left it at that.
+ * there should/must be mysql_mutex_assert_owner(&LOCK_log) here... + * but code violates this! (scary monsters and super creeps!) + * + * example stacktrace: + * #8 MYSQL_BIN_LOG::is_active + * #9 MYSQL_BIN_LOG::can_purge_log + * #10 MYSQL_BIN_LOG::purge_logs + * #11 MYSQL_BIN_LOG::purge_first_log + * #12 next_event + * #13 exec_relay_log_event
Ok, I see. Right, seems there is a potential issue between the slave IO thread moving to a new relay log, and the SQL thread checking if it can purge an old log. Thanks for checking. At least the master side seems fixed now, with your patch.
you take
Ok, I filed it as MDEV-7310 so it does not get lost.
i think i'm fine either way, put it wherever you like. (at least currently I'm mainly interested in the review feedback)
Ok. I checked the "changes from v1 to v2 diff", and it looks fine to me now. I can apply it along with the other related patches. I can also give it a spin through our Buildbot first to check for any issues. - Kristian.