Bug #53622 null bitmask read incorrectly in mysqlbinlog
Submitted: 13 May 2010 17:02 Modified: 24 May 2010 22:36
Reporter: Andrew Hutchings Email Updates:
Status: Verified Impact on me:
Category:MySQL Cluster: Replication Severity:S3 (Non-critical)
Version:mysql-5.1-telco-6.3 OS:Any
Assigned to: CPU Architecture:Any

[13 May 2010 17:02] Andrew Hutchings
Some cluster events appear to be written with an off-by-one when BIGINT column type is used.

How to repeat:
[24 May 2010 21:45] Andrew Hutchings
I think I found the problem, in ha_ndbcluster.cc:

            /* lsw is stored first */
            Uint32 *buf= (Uint32 *)(*value).rec->aRef();
                                         & 0x000000000FFFFFFFFLL)
                                        ((((longlong)*(buf+1)) << 32)
                                         & 0xFFFFFFFF00000000LL),

The first byte mask is one byte too long (has an extra 0 in it).  This would logically cause the corruption we are seeing.
[24 May 2010 21:58] Andrew Hutchings
ignore me, that is bit field processing (although still may be an unrelated bug)