Bug #48183 | statements using fulltext parser plugins should be marked unsafe | ||
---|---|---|---|
Submitted: | 20 Oct 2009 13:36 | Modified: | 10 Jan 2013 9:30 |
Reporter: | Sven Sandberg | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Server: Replication | Severity: | S2 (Serious) |
Version: | 5.1+ | OS: | Any |
Assigned to: | Assigned Account | CPU Architecture: | Any |
[20 Oct 2009 13:36]
Sven Sandberg
[23 Nov 2010 9:22]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/124708 3350 Li-Bing.Song@sun.com 2010-11-23 Bug#48183 statements using fulltext parser plugins should be marked unsafe Any use of plugins that could affect rows in a table should be marked unsafe because it cannot be determined that the statement will have the same effect on the slave. For example, UDFs are currently marked unsafe. However, use of fulltext parser plugins is currently not marked as unsafe. After this patch, any statement which uses fulltext parser plugins is marked unsafe. @ mysql-test/suite/binlog/t/binlog_stm_unsafe_warning-master.opt Add SIMPLE_PARSER_OPT option. @ mysql-test/suite/binlog/t/binlog_stm_unsafe_warning.test Add test for this bug. @ sql/share/errmsg-utf8.txt Add ER_BINLOG_UNSAFE_PLUGIN. @ sql/sql_base.cc Mark current statement is unsafe when setup fulltext parsers. @ sql/sql_class.h Add auxiliary function to set binlog_unsafe_warning_flags. @ sql/sql_lex.cc Initilaize unsafe plugin error message. @ sql/sql_lex.h Add unsafe type BINLOG_STMT_UNSAFE_PLUGIN.
[10 Jan 2013 9:30]
Jon Stephens
Thank you for your bug report. This issue has been committed to our source repository of that product and will be incorporated into the next release. If necessary, you can access the source repository and build the latest available version, including the bug fix. More information about accessing the source trees is available at http://dev.mysql.com/doc/en/installing-source.html
[10 Jan 2013 9:30]
Jon Stephens
Fixed in 5.7, documented as follows in the 5.7.1 changelog: Because the behavior of the fulltext plugin may vary between MySQL servers, it is not possible to guarantee that statements using this plugin produce the same results on masters and slaves. For this reason, statements depending on the fulltext plugin are now marked as unsafe for statement-based logging. This means that such statements are logged using row format when binlog_format=MIXED, and cause a warning to be generated when binlog_format=STATEMENT. Also noted the change in "Determination of Safe & Unsafe Statements" in the 5.7 Manual. Closed.