| Bug #23430 | Node failure in testOperations / DeleteUpdate with new table | ||
|---|---|---|---|
| Submitted: | 18 Oct 2006 15:58 | Modified: | 4 Dec 2006 4:39 |
| Reporter: | Kristian Nielsen | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Cluster: Disk Data | Severity: | S3 (Non-critical) |
| Version: | 5.1.13 | OS: | Linux (Linux) |
| Assigned to: | Jonas Oreland | CPU Architecture: | Any |
[18 Oct 2006 18:42]
Jonas Oreland
this is fairly newly introduced...maybe by pekka's abort fixes... anyway, logspace got freed twice, making accounting for logfile group corrupt
[18 Oct 2006 18:43]
Jonas Oreland
also, reproducable with D1 or D2
[18 Oct 2006 18:54]
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/13908 ChangeSet@1.2308, 2006-10-18 20:54:25+02:00, jonas@perch.ndb.mysql.com +1 -0 ndb - bug#23430 make sure not to release log buffer twice (or several times) in case of abort of multi update
[20 Oct 2006 12: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/14054 ChangeSet@1.2304, 2006-10-20 14:21:30+02:00, jonas@perch.ndb.mysql.com +1 -0 ndb - bug#23430 make sure not to release log buffer twice (or several times) in case of abort of multi update
[25 Oct 2006 6:59]
Jonas Oreland
pushed into 5.1-ndb
[1 Nov 2006 14:57]
Jonas Oreland
pushed into 5.1.13
[1 Dec 2006 8:40]
Jonas Oreland
The error was the "log buffer" for DD was incorrectly handled (space was freed twice on abort, during some circumstances) This would cause direct assertion if debug build and slow and mysterious death in release build
[4 Dec 2006 4:39]
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 fix for 5.1.13.

Description: After adding a new table T15 to test/src/NDBT_Tables.cpp, I see a node failure in the DeleteUpdate test. Here is the new table: > diff -u test/src/NDBT_Tables.cpp{.orig,} --- test/src/NDBT_Tables.cpp.orig 2006-10-18 17:27:04.000000000 +0200 +++ test/src/NDBT_Tables.cpp 2006-10-18 17:51:46.000000000 +0200 @@ -292,6 +292,26 @@ const NDBT_Table T14("T14", sizeof(T14Attribs)/sizeof(NDBT_Attribute), T14Attribs); +static +const +NDBT_Attribute T15Attribs[] = { + NDBT_Attribute("KOL1", NdbDictionary::Column::Unsigned, 1, true, false), + NDBT_Attribute("KOL2", NdbDictionary::Column::Varbinary, 100, false, true), + NDBT_Attribute("KOL3", NdbDictionary::Column::Unsigned, 1, false, true), + NDBT_Attribute("KOL4", NdbDictionary::Column::Int, 1, false, false), + NDBT_Attribute("KOL5", NdbDictionary::Column::Float, 1, false, true), + NDBT_Attribute("KOL6", NdbDictionary::Column::Char, 4, false, true), + NDBT_Attribute("KOL7", NdbDictionary::Column::Varbinary, 4, false, true), + NDBT_Attribute("KOL30", NdbDictionary::Column::Char, 4, false, true, 0, NdbDictionary::Column::StorageTypeDisk), + NDBT_Attribute("KOL31", NdbDictionary::Column::Char, 4, false, false), + /* This one is for update count, needed by hugoScanUpdate. */ + NDBT_Attribute("KOL99", NdbDictionary::Column::Unsigned, 1, false, false), +}; + +static +const +NDBT_Table T15("T15", sizeof(T15Attribs)/sizeof(NDBT_Attribute), T15Attribs); + /* C2 DHCP TABLES, MAYBE THESE SHOULD BE MOVED TO THE UTIL_TABLES? */ @@ -431,6 +451,7 @@ &T12, &T13, &T14, + &T15, &I1, &I2, &I3, and here is the error log: Current byte-offset of file-pointer is: 568 Time: Wednesday 18 October 2006 - 17:53:17 Status: Temporary error, restart node Message: Internal program error (failed ndbrequire) (Internal error, programming error or missing error message, please report a bug) Error: 2341 Error data: lgman.cpp Error object: LGMAN (Line: 3068) 0x00000002 Program: /data0/pushbuild/mysql-5.1-new-ndb-exp/storage/ndb/src/kernel/ndbd Pid: 8122 Trace: /dev/shm/v/ndbcluster-10045/ndb_2_trace.log.1 Version: Version 5.1.13 (beta) ***EOM*** GDB stack trace: #6 0x00000000004b97ae in Lgman::validate_logfile_group (this=0xafa590, ptr={p = 0xb88010, i = 16384}, heading=0x74daa8 "free_log_space") at lgman.cpp:3068 How to repeat: Add the above table T15. (cd ../../mysql-test && MTR_BUILD_THREAD=4 perl mysql-test-run.pl --timer --vardir=/dev/shm/v --start-and-exit --skip-im --skip-rpl ndb_basic) API_SIGNAL_LOG=/dev/null test/ndbapi/create_tab T15 API_SIGNAL_LOG=/dev/null test/ndbapi/testOperations -n DeleteUpdate T15 gdb src/kernel/ndbd /dev/shm/v/ndbcluster-10045/core.*