#At file:///home/jonas/src/telco-6.4/
2871 Jonas Oreland 2009-02-19 [merge]
merge 63 to 64
modified:
storage/ndb/src/kernel/blocks/ERROR_codes.txt
storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp
storage/ndb/src/kernel/blocks/lgman.cpp
storage/ndb/src/kernel/vm/DataBuffer.hpp
=== modified file 'storage/ndb/src/kernel/blocks/ERROR_codes.txt'
--- a/storage/ndb/src/kernel/blocks/ERROR_codes.txt 2009-01-29 11:07:47 +0000
+++ b/storage/ndb/src/kernel/blocks/ERROR_codes.txt 2009-02-19 10:19:45 +0000
@@ -631,6 +631,13 @@ Dbdict:
6014 Master failure during commit
6015 Master failure after commit
+6022 Cluster failure before flush prepare
+6021 Cluster failure before prepare first
+6016
+6017 Cluster failure before flush commit
+6018 Cluster failure before commit first
+6019 Cluster failure before flush complete
+6020 Cluster failure before complete first
6200 Set error code after handleTabInfoInit in master
6201 Set error code after handleTabInfoInit in master (index)
=== modified file 'storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp'
--- a/storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp 2009-02-17 09:26:44 +0000
+++ b/storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp 2009-02-19 10:19:45 +0000
@@ -22911,6 +22911,15 @@ Dbdict::trans_prepare_start(Signal* sign
CRASH_INSERTION(6013);
}
+ if (ERROR_INSERTED(6022))
+ {
+ jam();
+ NodeReceiverGroup rg(CMVMI, c_aliveNodes);
+ signal->theData[0] = 9999;
+ sendSignal(rg, GSN_NDB_TAMPER, signal, 1, JBB);
+ return;
+ }
+
if (ERROR_INSERTED(6142))
{
/*
@@ -22943,6 +22952,15 @@ Dbdict::trans_prepare_start(Signal* sign
void
Dbdict::trans_prepare_first(Signal* signal, SchemaTransPtr trans_ptr)
{
+ if (ERROR_INSERTED(6021))
+ {
+ jam();
+ NodeReceiverGroup rg(CMVMI, c_aliveNodes);
+ signal->theData[0] = 9999;
+ sendSignal(rg, GSN_NDB_TAMPER, signal, 1, JBB);
+ return;
+ }
+
trans_ptr.p->m_state = SchemaTrans::TS_PREPARING;
SchemaOpPtr op_ptr;
@@ -23600,6 +23618,15 @@ void Dbdict::check_partial_trans_commit_
void
Dbdict::trans_commit_start(Signal* signal, SchemaTransPtr trans_ptr)
{
+ if (ERROR_INSERTED(6016) || ERROR_INSERTED(6017))
+ {
+ jam();
+ NodeReceiverGroup rg(CMVMI, c_aliveNodes);
+ signal->theData[0] = 9999;
+ sendSignal(rg, GSN_NDB_TAMPER, signal, 1, JBB);
+ return;
+ }
+
trans_ptr.p->m_state = SchemaTrans::TS_FLUSH_COMMIT;
trans_ptr.p->m_nodes.bitAND(c_aliveNodes);
@@ -23646,6 +23673,16 @@ void
Dbdict::trans_commit_first(Signal* signal, SchemaTransPtr trans_ptr)
{
jam();
+
+ if (ERROR_INSERTED(6018))
+ {
+ jam();
+ NodeReceiverGroup rg(CMVMI, c_aliveNodes);
+ signal->theData[0] = 9999;
+ sendSignal(rg, GSN_NDB_TAMPER, signal, 1, JBB);
+ return;
+ }
+
#ifdef MARTIN
ndbout_c("trans_commit");
#endif
@@ -23955,6 +23992,16 @@ void
Dbdict::trans_complete_start(Signal* signal, SchemaTransPtr trans_ptr)
{
jam();
+
+ if (ERROR_INSERTED(6019))
+ {
+ jam();
+ NodeReceiverGroup rg(CMVMI, c_aliveNodes);
+ signal->theData[0] = 9999;
+ sendSignal(rg, GSN_NDB_TAMPER, signal, 1, JBB);
+ return;
+ }
+
#ifdef MARTIN
ndbout_c("trans_complete_start %u", trans_ptr.p->trans_key);
#endif
@@ -24004,6 +24051,16 @@ void
Dbdict::trans_complete_first(Signal * signal, SchemaTransPtr trans_ptr)
{
jam();
+
+ if (ERROR_INSERTED(6020))
+ {
+ jam();
+ NodeReceiverGroup rg(CMVMI, c_aliveNodes);
+ signal->theData[0] = 9999;
+ sendSignal(rg, GSN_NDB_TAMPER, signal, 1, JBB);
+ return;
+ }
+
trans_ptr.p->m_state = SchemaTrans::TS_COMPLETING;
bool first = false;
=== modified file 'storage/ndb/src/kernel/blocks/lgman.cpp'
--- a/storage/ndb/src/kernel/blocks/lgman.cpp 2008-12-20 19:52:24 +0000
+++ b/storage/ndb/src/kernel/blocks/lgman.cpp 2009-02-19 10:19:45 +0000
@@ -170,7 +170,8 @@ Lgman::execREAD_CONFIG_REQ(Signal* signa
m_log_waiter_pool.wo_pool_init(RT_LGMAN_LOG_WAITER, pc);
m_file_pool.init(RT_LGMAN_FILE, pc);
m_logfile_group_pool.init(RT_LGMAN_FILEGROUP, pc);
- m_data_buffer_pool.setSize(10);
+ // 10 -> 150M
+ m_data_buffer_pool.setSize(40);
ReadConfigConf * conf = (ReadConfigConf*)signal->getDataPtrSend();
conf->senderRef = reference();
@@ -988,8 +989,18 @@ Lgman::alloc_logbuffer_memory(Ptr<Logfil
Buffer_idx range;
range.m_ptr_i= ptrI;
range.m_idx = cnt;
-
- ndbrequire(map.append((Uint32*)&range, 2));
+
+ if (map.append((Uint32*)&range, 2) == false)
+ {
+ /**
+ * Failed to append page-range...
+ * jump out of alloc routine
+ */
+ jam();
+ m_ctx.m_mm.release_pages(RG_DISK_OPERATIONS,
+ range.m_ptr_i, range.m_idx);
+ break;
+ }
pages -= range.m_idx;
}
else
=== modified file 'storage/ndb/src/kernel/vm/DataBuffer.hpp'
--- a/storage/ndb/src/kernel/vm/DataBuffer.hpp 2006-12-23 19:20:40 +0000
+++ b/storage/ndb/src/kernel/vm/DataBuffer.hpp 2009-02-19 10:01:01 +0000
@@ -325,7 +325,6 @@ DataBuffer<sz>::seize(Uint32 n){
*/
Uint32 free = thePool.getNoOfFree() * sz + rest;
if(n > free){
- release();
return false;
}
| Thread |
|---|
| • bzr commit into mysql-5.1-telco-6.4 branch (jonas:2871) | Jonas Oreland | 19 Feb |