Description:
table create and insert during node restart causes restart node crash
How to repeat:
apply patch below. In bk clone
cd mysql-test
ndb/ndbcluster --initial --small
../storage/nds/src/mgmclient/ndb_mgm
ndb_mgm> 2 restart -n
ndb_mgm> 2 error 13029
./mysql-test-run.pl --start-and-exit --ndbconnectstring="localhost:1186"
connect mysql client
mysql> create table t1 (a int key, b int) engine=ndb;
mysql> insert into t1 values(1,1);
=> node 2 crashes in LQH
void Dblqh::storedProcConfScanLab(Signal* signal)
...
->
case Fragrecord::ACTIVE_CREATION:
jam();
case Fragrecord::CRASH_RECOVERING:
jam();
case Fragrecord::DEFINED:
jam();
case Fragrecord::REMOVING:
jam();
default:
ndbrequire(false);
===== storage/ndb/src/kernel/blocks/suma/Suma.cpp 1.31 vs edited =====
--- 1.31/storage/ndb/src/kernel/blocks/suma/Suma.cpp 2006-06-29 01:06:29 +02:00
+++ edited/storage/ndb/src/kernel/blocks/suma/Suma.cpp 2006-12-29 12:31:00 +01:00
@@ -257,6 +258,13 @@
if(startphase == 5)
{
+ if (ERROR_INSERTED(13029)) /* Hold startphase 5 */
+ {
+ sendSignalWithDelay(SUMA_REF, GSN_STTOR, signal,
+ 30, signal->getLength());
+ DBUG_VOID_RETURN;
+ }
+
getNodeGroupMembers(signal);
if (typeOfStart == NodeState::ST_NODE_RESTART ||
typeOfStart == NodeState::ST_INITIAL_NODE_RESTART)
Description: table create and insert during node restart causes restart node crash How to repeat: apply patch below. In bk clone cd mysql-test ndb/ndbcluster --initial --small ../storage/nds/src/mgmclient/ndb_mgm ndb_mgm> 2 restart -n ndb_mgm> 2 error 13029 ./mysql-test-run.pl --start-and-exit --ndbconnectstring="localhost:1186" connect mysql client mysql> create table t1 (a int key, b int) engine=ndb; mysql> insert into t1 values(1,1); => node 2 crashes in LQH void Dblqh::storedProcConfScanLab(Signal* signal) ... -> case Fragrecord::ACTIVE_CREATION: jam(); case Fragrecord::CRASH_RECOVERING: jam(); case Fragrecord::DEFINED: jam(); case Fragrecord::REMOVING: jam(); default: ndbrequire(false); ===== storage/ndb/src/kernel/blocks/suma/Suma.cpp 1.31 vs edited ===== --- 1.31/storage/ndb/src/kernel/blocks/suma/Suma.cpp 2006-06-29 01:06:29 +02:00 +++ edited/storage/ndb/src/kernel/blocks/suma/Suma.cpp 2006-12-29 12:31:00 +01:00 @@ -257,6 +258,13 @@ if(startphase == 5) { + if (ERROR_INSERTED(13029)) /* Hold startphase 5 */ + { + sendSignalWithDelay(SUMA_REF, GSN_STTOR, signal, + 30, signal->getLength()); + DBUG_VOID_RETURN; + } + getNodeGroupMembers(signal); if (typeOfStart == NodeState::ST_NODE_RESTART || typeOfStart == NodeState::ST_INITIAL_NODE_RESTART)