• Justin.He/justin.he@dev3-240.dev.cn.tlan's avatar
    Bug#19259 rpl_ndb_dd_partitions failed on Solaris · da9fdd99
    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.
    da9fdd99
rpl_log.test 5.78 KB