Bug #22067 rpl_rbr_to_sbr and some other fail if NDB is default storage
Submitted: 7 Sep 2006 7:12 Modified: 30 Sep 2006 19:22
Reporter: Ingo Strüwing Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Server: Replication Severity:S2 (Serious)
Version:5.1.12 OS:Linux (Linux)
Assigned to: Andrei Elkin CPU Architecture:Any

[7 Sep 2006 7:12] Ingo Strüwing
Description:
rpl_rbr_to_sbr                 [ fail ]

Errors are (from /mnt/hdb7/mytest/testdir-5.1-auto-1/mysql-test/var/log/mysqltest-time) :
mysqltest: At line 8: query 'SET BINLOG_FORMAT=MIXED' failed: 1549: The NDB cluster engine does not support changing the binlog format on the fly yet
(the last lines may be the most important ones)

How to repeat:
BUILD/compile-pentium-debug-max
cd mysql-test
./mysql-test-run.pl rpl_rbr_to_sbr

Suggested fix:
Put an --error directive before the failing statement.
[7 Sep 2006 7:17] Ingo Strüwing
Similar failures:

rpl_row_basic_8partition       [ fail ]

Errors are (from /mnt/hdb7/mytest/testdir-5.1-auto-1/mysql-test/var/log/mysqltest-time) :
mysqltest: At line 16: query 'SET BINLOG_FORMAT=ROW' failed: 1549: The NDB cluster engine does not support changing the binlog format on the fly yet
(the last lines may be the most important ones)

rpl_truncate_2myisam           [ fail ]

Errors are (from /mnt/hdb7/mytest/testdir-5.1-auto-1/mysql-test/var/log/mysqltest-time) :
mysqltest: In included file "./extra/rpl_tests/rpl_truncate_helper.test": At line 18: query 'SET SESSION BINLOG_FORMAT=STATEMENT' failed: 1549: The NDB cluster engine does not support changing the binlog format on the fly yet
(the last lines may be the most important ones)

rpl_truncate_3innodb           [ fail ]

Errors are (from /mnt/hdb7/mytest/testdir-5.1-auto-1/mysql-test/var/log/mysqltest-time) :
mysqltest: In included file "./extra/rpl_tests/rpl_truncate_helper.test": At line 18: query 'SET SESSION BINLOG_FORMAT=STATEMENT' failed: 1549: The NDB cluster engine does not support changing the binlog format on the fly yet
(the last lines may be the most important ones)
[13 Sep 2006 20:51] Andrei Elkin
All the list of tests invoking the set binlog_format explicitly must be failing
if ndb engine is chosen as default. In the following are files and method to
fix if needed.

t/
ndb_binlog_basic2.test         # here the failure is benign
rpl_rbr_to_sbr.test            # does not check any ndb features =>                       .                              # => not_ndb_default is enough
rpl_row_basic_8partition.test  # set binlog_format can be replaced
rpl_switch_stm_row_mixed.test  # does not check any ndb features =>
.                              # => not_ndb_default is enough

two more invoking invoke extra/rpl_truncate_helper.test

rpl_truncate_2myisam           # to be fixed with not_ndb_default
rpl_truncate_3innodb           # same as above
.                              # because there is a dedicated to ndb .                  .                              # rpl_truncate_7ndb* suit.
[13 Sep 2006 21:09] 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/11891

ChangeSet@1.2323, 2006-09-14 00:09:32+03:00, aelkin@dsl-hkigw8-fe00f800-98.dhcp.inet.fi +5 -0
  BUG#22067 rpl_rbr_to_sbr and some other fail if NDB is default storage
  
  A query SET @@GLOBAL.binlog_format = ... returns an error when NDB is the default
  storage. This fails some tests invoking the set binlog_format explicitly.
  
  In the following are files and method to fix if needed.
  
  t/
  ndb_binlog_basic2.test         # here the failure is benign
  rpl_rbr_to_sbr.test            # does not check any ndb features =>             
  .                              # => not_ndb_default is enough
  rpl_row_basic_8partition.test  # set binlog_format can be replaced
  rpl_switch_stm_row_mixed.test  # does not check any ndb features =>
  .                              # => not_ndb_default is enough
  
  two more invoking invoke extra/rpl_truncate_helper.test
  
  rpl_truncate_2myisam           # to be fixed with not_ndb_default
  rpl_truncate_3innodb           # same as above
  .                              # because there is a dedicated to ndb .          
  .                              # rpl_truncate_7ndb* suit.
[14 Sep 2006 18:53] 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/11958

ChangeSet@1.2323, 2006-09-14 21:53:24+03:00, aelkin@dsl-hkigw8-fe00f800-98.dhcp.inet.fi +7 -0
  BUG#22067 rpl_rbr_to_sbr and some other fail if NDB is default storage
  
  A query SET @@GLOBAL.binlog_format = ... returns an error when NDB is the default
  storage. This fails some tests invoking the set binlog_format explicitly.
  
  In the following are files and method to fix, mostly denying ndb. For these specific
  tests it is right thing to do because switching between binlog format is not supported
  by ndb, and truncate feature is checked by dedicated tests.
  
  t/
  ndb_binlog_basic2.test         # here the failure is benign
  rpl_rbr_to_sbr.test            # does not check any ndb features =>             
  .                              # => not_ndb_default is enough
  rpl_row_basic_8partition.test  # set binlog_format can be replaced
  rpl_switch_stm_row_mixed.test  # does not check any ndb features =>
  .                              # => not_ndb_default is enough
  
  two more invoking invoke extra/rpl_truncate_helper.test
  
  rpl_truncate_2myisam           # to be fixed with not_ndb_default
  rpl_truncate_3innodb           # same as above
  .                              # because there is a dedicated to ndb .          
  .                              # rpl_truncate_7ndb* tests.
[14 Sep 2006 19:21] 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/11961

ChangeSet@1.2323, 2006-09-14 22:21:35+03:00, aelkin@dsl-hkigw8-fe00f800-98.dhcp.inet.fi +8 -0
  BUG#22067 rpl_rbr_to_sbr and some other fail if NDB is default storage
  
  A query SET @@GLOBAL.binlog_format = ... returns an error when NDB is the default
  storage. This fails some tests invoking the set binlog_format explicitly.
  
  In the following are files and method to fix, mostly denying ndb. For these specific
  tests it is right thing to do because switching between binlog format is not supported
  by ndb, and truncate feature is checked by dedicated tests.
  
  t/
  ndb_binlog_basic2.test         # here the failure is benign
  rpl_rbr_to_sbr.test            # does not check any ndb features =>             
  .                              # => not_ndb_default is enough
  rpl_row_basic_8partition.test  # set binlog_format can be replaced
  rpl_switch_stm_row_mixed.test  # does not check any ndb features =>
  .                              # => not_ndb_default is enough
  
  two more invoking invoke extra/rpl_truncate_helper.test
  
  rpl_truncate_2myisam           # to be fixed with not_ndb_default
  rpl_truncate_3innodb           # same as above
  .                              # because there is a dedicated to ndb .          
  .                              # rpl_truncate_7ndb* tests.
[14 Sep 2006 19:44] 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/11965

ChangeSet@1.2323, 2006-09-14 22:44:37+03:00, aelkin@dsl-hkigw8-fe00f800-98.dhcp.inet.fi +8 -0
  Bug#22067  	rpl_rbr_to_sbr and some other fail if NDB is default storage
  
  A query SET @@GLOBAL.binlog_format = ... returns an error when NDB is the
  default storage. This fails some tests invoking the set binlog_format explicitly.
  because the var turns to be read-only.
    
    In the following are files and method to fix if needed.
    
    t/
    ndb_binlog_basic2.test         # here the failure is benign
    rpl_rbr_to_sbr.test            # does not check any ndb features =>           
   
    .                              # => not_ndb_default is enough
    rpl_row_basic_8partition.test  # set binlog_format can be replaced
    rpl_switch_stm_row_mixed.test  # does not check any ndb features =>
    .                              # => not_ndb_default is enough
    
    two more invoking invoke extra/rpl_truncate_helper.test
    
    rpl_truncate_2myisam           # to be fixed with not_ndb_default
    rpl_truncate_3innodb           # same as above
    .                              # because there is a dedicated to ndb .        
   
    .                              # rpl_truncate_7ndb* suit.
  
  Adapting/testing a new implement
  --source include/safe_set_to_maybe_ro_var.inc
  to avoid abort due to the error using binlog_format as application.
[15 Sep 2006 13:20] 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/12015

ChangeSet@1.2323, 2006-09-15 16:20:09+03:00, aelkin@dsl-hkigw8-fe00f800-98.dhcp.inet.fi +8 -0
  Bug#22067  	rpl_rbr_to_sbr and some other fail if NDB is default storage
  
  A query SET @@GLOBAL.binlog_format = ... returns an error when NDB is the
  default storage. This fails some tests invoking the set binlog_format explicitly.
  because the var turns to be read-only.
    
    In the following are files and method to fix if needed.
    
    t/
    ndb_binlog_basic2.test         # here the failure is benign
    rpl_rbr_to_sbr.test            # does not check any ndb features =>           
   
    .                              # => not_ndb_default is enough
    rpl_row_basic_8partition.test  # set binlog_format can be replaced
    rpl_switch_stm_row_mixed.test  # does not check any ndb features =>
    .                              # => not_ndb_default is enough
    
    two more invoking invoke extra/rpl_truncate_helper.test
    
    rpl_truncate_2myisam           # to be fixed with not_ndb_default
    rpl_truncate_3innodb           # same as above
    .                              # because there is a dedicated to ndb .        
   
    .                              # rpl_truncate_7ndb* suit.
  
  Adapting/testing a new implement
  --source include/safe_set_to_maybe_ro_var.inc
  to avoid abort due to the error using binlog_format as application.
[15 Sep 2006 14:25] 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/12025

ChangeSet@1.2323, 2006-09-15 17:25:13+03:00, aelkin@dsl-hkigw8-fe00f800-98.dhcp.inet.fi +8 -0
  Bug#22067  	rpl_rbr_to_sbr and some other fail if NDB is default storage
  
  A query SET @@GLOBAL.binlog_format = ... returns an error when NDB is the
  default storage. This fails some tests invoking the set binlog_format explicitly.
  because the var turns to be read-only.
    
    In the following are files and method to fix if needed.
    
    t/
    ndb_binlog_basic2.test         # here the failure is benign
    rpl_rbr_to_sbr.test            # does not check any ndb features =>           
   
    .                              # => not_ndb_default is enough
    rpl_row_basic_8partition.test  # set binlog_format can be replaced
    rpl_switch_stm_row_mixed.test  # does not check any ndb features =>
    .                              # => not_ndb_default is enough
    
    two more invoking invoke extra/rpl_truncate_helper.test
    
    rpl_truncate_2myisam           # to be fixed with not_ndb_default
    rpl_truncate_3innodb           # same as above
    .                              # because there is a dedicated to ndb .        
   
    .                              # rpl_truncate_7ndb* suit.
  
  Adapting/testing a new implement
  --source include/safe_set_to_maybe_ro_var.inc
  to avoid abort due to the error using binlog_format as application.
[21 Sep 2006 19:02] 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/12363

ChangeSet@1.2323, 2006-09-21 22:02:11+03:00, aelkin@dsl-hkigw8-feb9fb00-191.dhcp.inet.fi +7 -0
  Bug#22067  	rpl_rbr_to_sbr and some other fail if NDB is default storage
  
  A query SET @@GLOBAL.binlog_format = ... returns an error when NDB is the
  default storage. This fails some tests invoking the set binlog_format explicitly.
  because the var turns to be read-only.
    
    In the following are files and method to fix if needed.
    
    t/
    ndb_binlog_basic2.test         # here the failure is benign
    rpl_rbr_to_sbr.test            # does not check any ndb features =>           
   
    .                              # => not_ndb_default is enough
    rpl_row_basic_8partition.test  # set binlog_format can be replaced
    rpl_switch_stm_row_mixed.test  # does not check any ndb features =>
    .                              # => not_ndb_default is enough
    
    two more invoking invoke extra/rpl_truncate_helper.test
    
    rpl_truncate_2myisam           # to be fixed with not_ndb_default
    rpl_truncate_3innodb           # same as above
    .                              # because there is a dedicated to ndb .        
   
    .                              # rpl_truncate_7ndb* suit.
  
  Adapting/testing a new implement
  --source include/safe_set_to_maybe_ro_var.inc
  to avoid abort due to the error using binlog_format as application.
[22 Sep 2006 8:09] 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/12382

ChangeSet@1.2321, 2006-09-22 11:08:47+03:00, aelkin@dsl-hkigw8-feb9fb00-191.dhcp.inet.fi +1 -0
  BUG#22067 rpl_rbr_to_sbr and some other fail if NDB is default storage
  
  local file slipped into a previous commit, fixing ignore.
[23 Sep 2006 7:37] Lars Thalmann
Pushed into 5.1.12
[30 Sep 2006 19:22] Paul DuBois
No changelog entry needed.