5010 Pekka Nousiainen 2012-10-24
wl#5929 sp_marker-x2.diff
handle c-a-m databuffer exhaustion
modified:
storage/ndb/src/kernel/blocks/ERROR_codes.txt
storage/ndb/src/kernel/blocks/dbtc/Dbtc.hpp
storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp
storage/ndb/src/ndbapi/ndberror.c
storage/ndb/test/ndbapi/testBasic.cpp
storage/ndb/test/run-test/daily-basic-tests.txt
5009 Pekka Nousiainen 2012-10-23
wl#5929 sp_marker-x1.diff
avoid duplicate node/instance in c-a-m list
modified:
storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp
=== modified file 'storage/ndb/src/kernel/blocks/ERROR_codes.txt'
--- a/storage/ndb/src/kernel/blocks/ERROR_codes.txt 2011-12-05 13:14:10 +0000
+++ b/storage/ndb/src/kernel/blocks/ERROR_codes.txt 2012-10-24 10:05:26 +0000
@@ -21,7 +21,7 @@ Next DBTUP 4035
Next DBLQH 5075
Next DBDICT 6026
Next DBDIH 7232
-Next DBTC 8092
+Next DBTC 8097
Next CMVMI 9000
Next BACKUP 10042
Next DBUTIL 11002
@@ -393,6 +393,9 @@ DBTC LONG SIGNAL TESTING
8085: Simulate execFIRE_TRIG_ORD DataBuffer exhaustion
8086: Simulate execFIRE_TRIG_ORD segmented section exhaustion
+8087: Simulate commit ack marker exhaustion
+8096: Simulate commit ack marker databuffer exhaustion
+
DBLQH LONG SIGNAL TESTING
-------------------------
5051: Send short LQHKEYREQ to next replica
=== modified file 'storage/ndb/src/kernel/blocks/dbtc/Dbtc.hpp'
--- a/storage/ndb/src/kernel/blocks/dbtc/Dbtc.hpp 2012-10-17 13:08:34 +0000
+++ b/storage/ndb/src/kernel/blocks/dbtc/Dbtc.hpp 2012-10-24 10:05:26 +0000
@@ -111,6 +111,7 @@
#define ZCOMMIT_TYPE_ERROR 278
#define ZNO_FREE_TC_MARKER 279
+#define ZNO_FREE_TC_MARKER_DATABUFFER 273
#define ZNODE_SHUTDOWN_IN_PROGRESS 280
#define ZCLUSTER_SHUTDOWN_IN_PROGRESS 281
#define ZWRONG_STATE 282
=== modified file 'storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp'
--- a/storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp 2012-10-23 11:06:05 +0000
+++ b/storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp 2012-10-24 10:05:26 +0000
@@ -1855,6 +1855,13 @@ start_failure:
abortErrorLab(signal);
return;
}
+ case 67:
+ {
+ jam();
+ terrorCode = ZNO_FREE_TC_MARKER_DATABUFFER;
+ abortErrorLab(signal);
+ return;
+ }
default:
jam();
systemErrorLab(signal, __LINE__);
@@ -4427,12 +4434,18 @@ void Dbtc::execLQHKEYCONF(Signal* signal
for(Uint32 i = 0; i < noOfLqhs; i++)
{
jam();
+ if (ERROR_INSERTED(8096) && i+1 == noOfLqhs)
+ {
+ CLEAR_ERROR_INSERT_VALUE;
+ TCKEY_abort(signal, 67);
+ return;
+ }
if (!tmp->insert_in_commit_ack_marker(this,
regTcPtr->lqhInstanceKey,
regTcPtr->tcNodedata[i]))
{
- ndbout_c("Failed insert_in_commit_ack_marker");
- ; //RONM TODO error handling
+ TCKEY_abort(signal, 67);
+ return;
}
}
}
=== modified file 'storage/ndb/src/ndbapi/ndberror.c'
--- a/storage/ndb/src/ndbapi/ndberror.c 2012-09-19 06:37:24 +0000
+++ b/storage/ndb/src/ndbapi/ndberror.c 2012-10-24 10:05:26 +0000
@@ -181,6 +181,7 @@ ErrorBundle ErrorCodes[] = {
"Out of operation records in transaction coordinator (increase MaxNoOfConcurrentOperations)" },
{ 275, DMEC, TR, "Out of transaction records for complete phase (increase MaxNoOfConcurrentTransactions)" },
{ 279, DMEC, TR, "Out of transaction markers in transaction coordinator" },
+ { 273, DMEC, TR, "Out of transaction markers databuffer in transaction coordinator" },
{ 312, DMEC, TR, "Out of LongMessageBuffer" },
{ 414, DMEC, TR, "414" },
{ 418, DMEC, TR, "Out of transaction buffers in LQH" },
=== modified file 'storage/ndb/test/ndbapi/testBasic.cpp'
--- a/storage/ndb/test/ndbapi/testBasic.cpp 2012-06-25 12:55:27 +0000
+++ b/storage/ndb/test/ndbapi/testBasic.cpp 2012-10-24 10:05:26 +0000
@@ -2159,6 +2159,7 @@ runBug54944(NDBT_Context* ctx, NDBT_Step
Ndb* pNdb = GETNDB(step);
const NdbDictionary::Table * pTab = ctx->getTab();
NdbRestarter res;
+ int databuffer = ctx->getProperty("DATABUFFER");
for (Uint32 i = 0; i<5; i++)
{
@@ -2175,7 +2176,10 @@ runBug54944(NDBT_Context* ctx, NDBT_Step
hugoOps.execute_NoCommit(pNdb);
}
- res.insertErrorInAllNodes(8087);
+ if (!databuffer)
+ res.insertErrorInAllNodes(8087);
+ else
+ res.insertErrorInAllNodes(8096);
HugoTransactions hugoTrans(*pTab);
hugoTrans.loadTableStartFrom(pNdb, 50000, 100);
@@ -3621,6 +3625,12 @@ TESTCASE("Bug54986", "")
}
TESTCASE("Bug54944", "")
{
+ TC_PROPERTY("DATABUFFER", (Uint32)0);
+ INITIALIZER(runBug54944);
+}
+TESTCASE("Bug54944DATABUFFER", "")
+{
+ TC_PROPERTY("DATABUFFER", (Uint32)1);
INITIALIZER(runBug54944);
}
TESTCASE("Bug59496_case1", "")
=== modified file 'storage/ndb/test/run-test/daily-basic-tests.txt'
--- a/storage/ndb/test/run-test/daily-basic-tests.txt 2012-09-21 12:26:26 +0000
+++ b/storage/ndb/test/run-test/daily-basic-tests.txt 2012-10-24 10:05:26 +0000
@@ -305,6 +305,10 @@ max-time: 500
cmd: testBasic
args: -n Bug54944 T1
+max-time: 500
+cmd: testBasic
+args: -n Bug54944DATABUFFER T1
+
max-time: 600
cmd: testBasic
args: -r 10 -n Bug59496_case1 T2
No bundle (reason: useless for push emails).
| Thread |
|---|
| • bzr push into mysql-5.1-telco-7.0 branch (pekka.nousiainen:5009 to 5010)WL#5929 | Pekka Nousiainen | 25 Oct |