Bug #54487 | Wrong data inserted into partitioned table | ||
---|---|---|---|
Submitted: | 14 Jun 2010 15:00 | Modified: | 7 Jul 2010 17:05 |
Reporter: | Magnus Blåudd | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | MySQL Cluster: Cluster (NDB) storage engine | Severity: | S2 (Serious) |
Version: | 7.0.16 | OS: | Windows |
Assigned to: | CPU Architecture: | Any |
[14 Jun 2010 15:00]
Magnus Blåudd
[14 Jun 2010 17:10]
Magnus Blåudd
testPartitioning also fails on Solaris with bus error in the same testcase, so I suspect that the test program is doing something wrong when "writing" the values into the record. Core was generated by `/export/home/tmp/ndbdev/atrt/run-sols/bin/testPartitioning'. Program terminated with signal 10, Bus error. #0 0x00021c3c in run_dist_test (ctx=0x9f2b8, step=0x76e60) at testPartitioning.cpp:797 797 dKeyVal= r % parts;
[14 Jun 2010 17:44]
Magnus Blåudd
NdbApi signal trace with -r 10
Attachment: 1.log (application/octet-stream, text), 66.41 KiB.
[14 Jun 2010 17:53]
Magnus Blåudd
The INSERT of r=2 on Windows shows missing data in the ATTRINFO long section: ---- Send ----- Signal ---------------- r.bn: 245 "DBTC", r.proc: 1, gsn: 12 "TCKEYREQ" prio: 1 s.bn: 32768 "API", s.proc: 192, s.sigId: 0 length: 9 trace: 1 #sec: 2 fragInf: 0 apiConnectPtr: H'00000022, apiOperationPtr: H'00000014 Operation: Insert, Flags: Start Execute Commit NoDisk AbortOnError d-key keyLen: 0, attrLen: 0, AI in this: 0, tableId: 4, tableSchemaVer: 7, API Ver: 16 transId(1, 2): (H'00000002, H'0000c000) -- Variable Data -- H'00000002 SECTION 0 type=generic size=2 H'00000002 H'00000002 SECTION 1 type=generic size=5 H'00000004 H'00000002 H'00010004 H'00000002 H'00020000 compared to Linux: ---- Send ----- Signal ---------------- r.bn: 245 "DBTC", r.proc: 1, gsn: 12 "TCKEYREQ" prio: 1 s.bn: 32768 "API", s.proc: 192, s.sigId: 0 length: 9 trace: 1 #sec: 2 fragInf: 0 apiConnectPtr: H'00000033, apiOperationPtr: H'00000014 Operation: Insert, Flags: Start Execute Commit NoDisk AbortOnError d-key keyLen: 0, attrLen: 0, AI in this: 0, tableId: 7, tableSchemaVer: 8, API Ver: 16 transId(1, 2): (H'00000002, H'0000c000) -- Variable Data -- H'00000002 SECTION 0 type=generic size=2 H'00000002 H'00000002 SECTION 1 type=generic size=6 H'00000004 H'00000002 H'00010004 H'00000002 H'00020004 H'00000004
[14 Jun 2010 20:12]
Magnus Blåudd
nullbit for the third attribute is set
[15 Jun 2010 7:20]
Magnus Blåudd
==12384== Conditional jump or move depends on uninitialised value(s) ==12384== at 0x4F1C48A: NdbRecord::Attr::is_null(char const*) const (NdbRecord.hpp:144) ==12384== by 0x4F1ABB2: NdbOperation::buildSignalsNdbRecord(unsigned int, unsigned long long, unsigned int const*) (NdbOperationExec.cpp:1173) ==12384== by 0x4F0B7F8: NdbTransaction::setupRecordOp(NdbOperation::OperationType, NdbOperation::LockMode, NdbOperation::AbortOption, NdbRecord const*, char const*, NdbRecord const*, char const*, unsigned char const*, NdbOperation::OperationOptions const*, unsigned int, NdbLockHandle const*) (NdbTransaction.cpp:2388) ==12384== by 0x4F0BA1D: NdbTransaction::insertTuple(NdbRecord const*, char const*, NdbRecord const*, char const*, unsigned char const*, NdbOperation::OperationOptions const*, unsigned int) (NdbTransaction.cpp:2476) ==12384== by 0x4F0BA9E: NdbTransaction::insertTuple(NdbRecord const*, char const*, unsigned char const*, NdbOperation::OperationOptions const*, unsigned int) (NdbTransaction.cpp:2495) ==12384== by 0x4181B3: load_dist_table(Ndb*, int, int) (testPartitioning.cpp:814) ==12384== by 0x4195E2: run_dist_test(NDBT_Context*, NDBT_Step*) (testPartitioning.cpp:1186)
[15 Jun 2010 9: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/111091
[15 Jun 2010 9:14]
Magnus Blåudd
Pushed to 7.0.16 and 7.1.5 Problem was in test program which didn't set nul bit properly for an inserted attribute.
[15 Jun 2010 9:19]
Bugs System
Pushed into 5.1.44-ndb-7.0.16 (revid:magnus.blaudd@sun.com-20100615090935-ekk0k78ydvxmawgk) (version source revid:magnus.blaudd@sun.com-20100615090935-ekk0k78ydvxmawgk) (merge vers: 5.1.44-ndb-7.0.16) (pib:16)
[7 Jul 2010 17:05]
Jon Stephens
Since this was a change in test code only, there are no user-facing changes to document; closed without without action.