diff options
author | unknown <jonas@perch.ndb.mysql.com> | 2005-12-21 16:31:58 +0100 |
---|---|---|
committer | unknown <jonas@perch.ndb.mysql.com> | 2005-12-21 16:31:58 +0100 |
commit | 887d498b26b863412d310b4827aa2925f2c90329 (patch) | |
tree | 26dd0d344f53ab6df965d7a39dcdbf7c287fcd8b /ndb | |
parent | f7489c32a26080f148efa7f251bb06d3b8e1ce8a (diff) | |
download | mariadb-git-887d498b26b863412d310b4827aa2925f2c90329.tar.gz |
bug#15908 - ndb
When scan is completed, but lqhkeyreq is outstanding on primary replica and
starting node dies, scan will not be closed leading to error handling of failed
node not completing
ndb/src/kernel/blocks/ERROR_codes.txt:
New error code
ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
Set scan state to WAIT_LQHKEY_COPY when scan is finished but LQHKEYREQ is outstanding
Diffstat (limited to 'ndb')
-rw-r--r-- | ndb/src/kernel/blocks/ERROR_codes.txt | 4 | ||||
-rw-r--r-- | ndb/src/kernel/blocks/dblqh/DblqhMain.cpp | 9 |
2 files changed, 12 insertions, 1 deletions
diff --git a/ndb/src/kernel/blocks/ERROR_codes.txt b/ndb/src/kernel/blocks/ERROR_codes.txt index 5d7c8d758fc..62481837c14 100644 --- a/ndb/src/kernel/blocks/ERROR_codes.txt +++ b/ndb/src/kernel/blocks/ERROR_codes.txt @@ -3,7 +3,7 @@ Next NDBCNTR 1000 Next NDBFS 2000 Next DBACC 3002 Next DBTUP 4013 -Next DBLQH 5042 +Next DBLQH 5043 Next DBDICT 6006 Next DBDIH 7174 Next DBTC 8037 @@ -312,6 +312,8 @@ LQH: 5026 Crash when receiving COPY_ACTIVEREQ 5027 Crash when receiving STAT_RECREQ +5042 Crash starting node, when scan is finished on primary replica + Test Crashes in handling take over ---------------------------------- diff --git a/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp b/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp index fc6a470e0ef..c8460630d62 100644 --- a/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp +++ b/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp @@ -9220,6 +9220,15 @@ void Dblqh::nextScanConfCopyLab(Signal* signal) // completion. Signal completion through scanCompletedStatus-flag. /*---------------------------------------------------------------------------*/ scanptr.p->scanCompletedStatus = ZTRUE; + scanptr.p->scanState = ScanRecord::WAIT_LQHKEY_COPY; + if (ERROR_INSERTED(5042)) + { + CLEAR_ERROR_INSERT_VALUE; + tcConnectptr.p->copyCountWords = ~0; + signal->theData[0] = 9999; + sendSignal(numberToRef(CMVMI, scanptr.p->scanNodeId), + GSN_NDB_TAMPER, signal, 1, JBA); + } return; }//if |