Bug #19259 rpl_ndb_dd_partitions fails on solaris
Submitted: 21 Apr 2006 13:32 Modified: 31 Jul 2007 6:37
Reporter: Tomas Ulin Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Cluster: Replication Severity:S1 (Critical)
Version:5.1 OS:Solaris (Solaris/AMD)
Assigned to: justin he CPU Architecture:Any
Tags: sr5_1

[21 Apr 2006 13:32] Tomas Ulin
Description:
rpl_ndb_dd_partitions fails on solaris

How to repeat:
rpl_ndb_dd_partitions fails on solaris
[24 Apr 2006 15:45] Reggie Burnett
changed lead to Tomas.
[23 Jun 2006 20:10] Jonathan Miller
Partitions are not supported in cluster other then by Key.
[15 Sep 2006 13:21] Andrei Elkin
rpl_row_basic_8partition bug#22067 is guarded against ndb because of the limitation.
[15 Sep 2006 13:59] Andrei Elkin
re-activativating to fix this or some other tests where ndb partitioning w/o key is used.rpl_row_basic_8partition bug#22063 has been fixed with not_ndb_default guard.
[15 Sep 2006 14:19] 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/12024

ChangeSet@1.2318, 2006-09-15 16:19:08+02:00, aelkin@dl145h.mysql.com +1 -0
  WL#3504 "plugin actions for engines' and plugins' unit tests"
  for push in 5.1 (I will inform Trudy).
  Storage engines and plugins can now have unit tests to test their components; such
  test must be an executable C/C++ program which name ends with '-t' and which is
  obeys the mytap protocol, it must be stored in the storage engine's or plugin's
  source directory (storage/<engine> or plugin/<plugin>) or any subdirectories of
  this.
  The top-level Makefile target "test-unit" will run all unit tests: it will scan
  the engines' and plugins' directories, recursively, and execute all executable
  files which name ends with '-t'."
  ---
  bug#19259 rpl_ndb_dd_partitions fails because of limitation
  
  re-activating the bug to fix related to the limitation tests.
[15 Sep 2006 14:22] Andrei Elkin
Jeb, sorry for possible inconvinience. Please ignore in Changeset comments all tops related to a WL (Guilhems patch for another purpose). That's how it came out
after I used bk fix -c ... Dangerous tool sometimes. The only file in the changeset in mine, that's ok.
[15 Sep 2006 15:03] 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/12039

ChangeSet@1.2318, 2006-09-15 17:00:35+02:00, aelkin@dl145h.mysql.com +1 -0
  bug#19259 rpl_ndb_dd_partitions fails because of limitation
  
  re-activating the bug to fix related to the limitation tests.
[18 Dec 2006 14:11] Andrei Elkin
Please notice, that 'Bug #19227 rpl_ndb_2innodb fails' is most probably a dup, considering its latest verification. Please verify that bug with the fix of this one.
[17 Apr 2007 3:10] 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/24621

ChangeSet@1.2552, 2007-04-17 11:02:02+08:00, Justin.He@dev3-240.dev.cn.tlan +6 -0
  Bug#19259 rpl_ndb_dd_partitions fails on solaris
  resume this testcase, change testcase option,
  remove ASSERT,
  update result of testcase,
  seems this bug is general on all platforms
[28 Jun 2007 5:58] 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/29801

ChangeSet@1.2521, 2007-06-28 13:45:51+08:00, Justin.He@dev3-240.dev.cn.tlan +6 -0
  Bug#19259, rpl_ndb_dd_partitions fails on solaris
[6 Jul 2007 7:17] 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/30422

ChangeSet@1.2537, 2007-07-06 15:04:30+08:00, Justin.He@dev3-240.dev.cn.tlan +10 -0
  Bug#19259, rpl_ndb_dd_partitions failed on Solaris
  correct four bitmap_init() n_bits issues in log_events.cc
  update some test cases' result:
  binlog_multi_engine.test
  ndb_binlog_multi.test
  rpl_ndb_dd_partitions.test
  rpl_ndb_log.test
  rpl_truncate_7ndb.test
  rpl_truncate_7ndb_2.test
[11 Jul 2007 8:00] 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/30655

ChangeSet@1.2538, 2007-07-11 15:47:12+08:00, Justin.He@dev3-240.dev.cn.tlan +11 -0
  Bug#19259 rpl_ndb_dd_partitions failed on Solaris
  
  Actually, this testcase will fail generally on all testing platforms.
  The bugs come from the inconsistent bitmap between rpl master and slave.
  
  In log_event.cc, m_cols and m_cols_ai are intialized with octal-round m_width,
  in fact, their n_bits should be equal to m_width.
  Wrong n_bits will cause bitmap_bits_set() get incorrect value in unpack_row()
  in rpl_record.cc, 
  then an assertion in unpack_row() will fail and crash sql thread.
    DBUG_ASSERT(null_ptr == row_data + master_null_byte_count);
  
  Meanwhile, because of binlog_prepare_pending_rows_event() changed with correct
  m_cols, some testcases' result need to be updated:
  binlog_multi_engine.test
  ndb_binlog_multi.test
  rpl_ndb_dd_partitions.test
  rpl_ndb_log.test
  rpl_truncate_7ndb.test
  rpl_truncate_7ndb_2.test
[12 Jul 2007 7:34] 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/30758

ChangeSet@1.2538, 2007-07-12 15:19:29+08:00, Justin.He@dev3-240.dev.cn.tlan +15 -0
  Bug#19259 rpl_ndb_dd_partitions failed on Solaris
  
  Actually, this testcase will fail generally on all testing platforms.
  The bugs come from the inconsistent bitmap between rpl master and slave.
  
  In log_event.cc, the n_bits of m_cols and m_cols_ai are intialized with octal-ceiling 
  m_width, in fact, their n_bits should be equal to m_width.
  Wrong n_bits will cause bitmap_bits_set() get incorrect value in unpack_row()
  in rpl_record.cc, 
  then an assertion in unpack_row() will fail and crash sql thread.
    DBUG_ASSERT(null_ptr == row_data + master_null_byte_count);
  
  Meanwhile, because of binlog_prepare_pending_rows_event() changed with correct
  m_cols, some results of specific testcases should be updated:
  binlog_multi_engine.test
  ndb_binlog_multi.test
  rpl_ndb_dd_partitions.test
  rpl_ndb_log.test
  rpl_truncate_7ndb.test
  rpl_truncate_7ndb_2.test
  
  In addition, to ensure rows replication correct between master and slave after the patch, 
  two 'select * from t1' are added in extra/rpl_tests/rpl_log.test, and some testcases include 
  rpl_log.test, therefore, the results of these testcases should be updated likewise:
  rpl_stm_log.test
  rpl_row_log.test
  rpl_ndb_log.test
  rpl_row_log_innodb.test
  
  Totally, results of nine testcases are updated.
[31 Jul 2007 6:37] 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

Documented bug fix in 5.1.21 changelog.
[4 Aug 2007 1:18] Bugs System
Pushed into 5.1.21-beta
[8 Nov 2007 14:32] Jon Stephens
See also Bug #19227 (marked as duplicate of this one).