Hi!
"Rich" == Rich Prohaska <prohaska@tokutek.com> writes:
Rich> Hello, Rich> Thanks for the feedback on how to fix our replication slave crash. Rich> I hacked the mariadb 5.5.23 and ended up with the attached patch. Rich> Rich Prohaska
--- log.cc.orig 2012-06-08 16:36:34.007231363 -0400 +++ log.cc 2012-06-08 16:36:36.218354938 -0400 @@ -1838,6 +1838,7 @@ { int error= 0; DBUG_ENTER("binlog_commit"); + thd->binlog_setup_trx_data();
It would be good to have error checking if the above failed.
binlog_cache_mngr *const cache_mngr= (binlog_cache_mngr*) thd_get_ha_data(thd, binlog_hton);
@@ -1894,6 +1895,7 @@ { DBUG_ENTER("binlog_rollback"); int error= 0; + thd->binlog_setup_trx_data();
It would be good to have error checking if the above failed. <cut>
@@ -4846,6 +4848,7 @@ if (binlog_table_maps == 0) binlog_start_trans_and_stmt();
+ this->binlog_setup_trx_data(); binlog_cache_mngr *const cache_mngr= (binlog_cache_mngr*) thd_get_ha_data(this, binlog_hton);
I would move the call this->binlog_setup_trx_data() before if (binlog_table_maps == 0) binlog_start_trans_and_stmt(); As binlog_start_trans_and_stmt() will also need the structure.
@@ -4941,6 +4944,7 @@ { DBUG_ENTER("MYSQL_BIN_LOG::remove_pending_rows_event");
+ thd->binlog_setup_trx_data();
Add error checking. Same to other places. Otherwise ok! Regards, Monty