Bug #68429 Slave SQL: Could not execute Query event. Detailed error: ;, Error_code: 0
Submitted: 19 Feb 2013 12:58 Modified: 19 Feb 2014 11:16
Reporter: Erik Hoekstra Email Updates:
Status: Closed Impact on me:
Category:MySQL Server: Replication Severity:S2 (Serious)
Version:5.6.10, 5.6.14 OS:Linux (RHEL 6)
Assigned to: CPU Architecture:Any
Tags: log_warnings, replication, slave, slave-skip-errors, warning

[19 Feb 2013 12:58] Erik Hoekstra
On a multi master setup with 5.6.10 (rhel6) the logs fillup with the message:

[Warning] Slave SQL: Could not execute Query event. Detailed error: ;, Error_code: 0

(when using log_warnings 2 and slave-skip-errors = all)

If i start the server WITH slave-skip-errors = all these messages will appear even though no errors in the replica consist. 

If i leave it out of my config the replication won't skip any errors, but there aren't any so it seems MySQL throw's a warning an a non-error/warning event if the server is started with slave-skip-errors = all?

My thought are this could be a message/notice about a query/row not to replica on a slave due to replication rules? But then the message should be a notice or not even a message at all right?

(also see: http://forums.mysql.com/read.php?26,579441,579441#msg-579441)

How to repeat:
default-character-set = utf8 

secure-auth = true 

default-storage-engine = myisam 
event_scheduler = disabled 
explicit_defaults_for_timestamp = true 
performance_schema = off 

general-log = 0 
log-output = file 
log-error = /var/lib/mysql/X.err 
log-bin = /var/lib/mysql/X-bin 
relay-log = /var/lib/mysql/X-relay-bin 
log-warnings = 2 

auto_increment_increment = 2 
auto_increment_offset = 1 

slave-skip-errors = all 
slave_exec_mode = idempotent 
slave_parallel_workers = 3 
gtid_mode = off 

character-set-server = utf8 
collation-server = utf8_unicode_ci 

expire_logs_days = 4 

binlog-format = row 
binlog_row_image = minimal 

binlog-ignore-db = mysql 
replicate-ignore-db = mysql 
replicate-wild-ignore-table = mysql.% 

binlog-ignore-db = information_schema 
replicate-ignore-db = information_schema 
replicate-wild-ignore-table = information_schema.% 

binlog-ignore-db = performance_schema 
replicate-ignore-db = preformance_schema 
replicate-wild-ignore-table = performance_schema.% 

binlog-ignore-db = X_raw 
replicate-ignore-db = X_raw 
replicate-wild-ignore-table = X_raw.% 

replicate-wild-ignore-table = %_raw.% 

query_prealloc_size = 16M 
max_prepared_stmt_count = 32000 

query_cache_type = 1 
query_cache_size = 512M 
query_cache_limit = 4M 

key_buffer_size = 1536 

delayed_insert_limit = 1500 
delayed_queue_size = 3000 

table_open_cache = 800 
table_definition_cache = 600 

group_concat_max_len = 2048 

bulk_insert_buffer_size = 12M 
read_buffer_size = 256k 
read_rnd_buffer_size = 384k 

thread_cache_size = 254 

max_connections = 1024 
max_user_connections = 1024 
max_connect_errors = 1000000 
max_allowed_packet = 32M 

connect_timeout = 25 
wait_timeout = 180 
interactive_timeout = 180 
net_read_timeout = 60 
net_write_timeout = 80
[19 Feb 2013 17:04] Sveta Smirnova
Thank you for the report.

Please provide binary log file from master which causes this errors.
[20 Mar 2013 1:00] Bugs System
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
[11 Oct 2013 15:31] Umesh Shastry
Hello Erik,

Thank you for the report.
Verified as described.

[3 Jan 2014 14:32] Carlos Vazquez
This is happening to me in version 5.6.15 too.
[19 Feb 2014 11:16] Jon Stephens

Fixed in MySQL 5.6+. Documented in the 5.6.17 and 5.7.4 changelogs as follows:

        be filled with with instances of the warning -Slave SQL: Could
        not execute Query event. Detailed error: ;, Error_code: 0-.



[29 Mar 2014 8:16] Laurynas Biveinis
5.6$ bzr log -r 5825 -n0
revno: 5825
committer: Sujatha Sivakumar <sujatha.sivakumar@oracle.com>
branch nick: Bug17581990_mysql-5.6
timestamp: Wed 2014-02-19 10:15:51 +0530
  Setting slave-skip-errors=all on the slave will make mysql
  slave error log to grow continuously with the following
  [Warning] Slave SQL: Could not execute Query event.
  Detailed error: ;, Error_code: 0
  This warning is generated during execution of Query event
  from the following peace of code.
  else if ((expected_error == actual_error &&
            !concurrency_error_code(expected_error)) ||
    DBUG_PRINT("info",("error ignored"));
    if (log_warnings > 1 && ignored_error_code(actual_error))
      rli->report(WARNING_LEVEL, actual_error,...
  The warning mainly depends on two parameters named
  "expected_error" and "actual_error". These two variables
  are initialised to zero by default. During the execution
  when there is no change in their values their values will
  remain as zeroes.
  Condition1: becomes true
  Condition2: It considers 0 as non concurrency related error
  code causing condition 2 to become true.
  condition3: 0 is considered as ignored error code.
  Hence the whole condition becomes true and warning gets
  Having "actual == expected == 0" must not be considered as a
  valid error condition. Hence if non zero value exists for
  this variable only then it should be checked for ignored