MySQL 5.6 Threaded Replication - Write_rows Error

I’m attempting to use threaded replication w/ 5.6 (mixed binlog format) by executing:

stop slave;
set global slave_parallel_workers=5;
start slave;

This works for awhile, but eventually the following error occurs:

Does anyone know what the write_rows event is? I attempted to use mysqlbinlog to decode the transaction via:

/!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=1/;
/!40019 SET @@session.max_insert_delayed_threads=0/;
/!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0/;
DELIMITER /!/;

at 166611162

#131221 8:28:40 server id 1323 end_log_pos 166611059 CRC32 0x22df9850 Write_rows: table id 84028 flags: STMT_END_F

Row event for unknown table #84028DELIMITER ;

End of log file

ROLLBACK /* added by mysqlbinlog /;
/
!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
/!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0/;

The “Row event for unknown table” error may happen while decoding relay log, while it never should happen for original binary log. That is because transactions (even very big) can never be written to more then one binary log (if the max size is exceeded), while big transactions can span multiple relay logs. This makes debugging difficult if whole transaction does not fit in single relay log. See this bug report: http://bugs.mysql.com/bug.php?id=60964

Can you decode the corresponding event from the binary log on master?

Just putting for someone who lands on this page after google search “Row event for unknown table

This can happen on master binary log as well when you’re using a --start-position. If you extract complete binary log, that error goes away.

1 Like