List:Commits« Previous MessageNext Message »
From:Jonas Oreland Date:February 19 2009 10:20am
Subject:bzr commit into mysql-5.1-telco-6.4 branch (jonas:2871)
View as plain text  
#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 Oreland19 Feb