4155 Jonas Oreland 2011-01-28
ndb - add return ref to GCPNoMoreTrans (to be used by mt-tc)
modified:
storage/ndb/include/kernel/signaldata/GCP.hpp
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp
storage/ndb/src/kernel/blocks/dbtc/Dbtc.hpp
storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp
4154 Jonas Oreland 2011-01-28
ndb - fix windows breakage
modified:
sql/ha_ndbcluster.cc
=== modified file 'storage/ndb/include/kernel/signaldata/GCP.hpp'
--- a/storage/ndb/include/kernel/signaldata/GCP.hpp 2009-05-27 15:21:45 +0000
+++ b/storage/ndb/include/kernel/signaldata/GCP.hpp 2011-01-28 13:54:32 +0000
@@ -55,7 +55,8 @@ struct GCPCommit // Distr. DIH-DIH
struct GCPNoMoreTrans // Local DIH/TC
{
- STATIC_CONST( SignalLength = 3 );
+ STATIC_CONST( SignalLength = 4 );
+ Uint32 senderRef;
Uint32 senderData;
Uint32 gci_hi;
Uint32 gci_lo;
=== modified file 'storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp'
--- a/storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp 2010-11-22 14:27:12 +0000
+++ b/storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp 2011-01-28 13:54:32 +0000
@@ -5631,6 +5631,7 @@ void Dbdih::execMASTER_GCPREQ(Signal* si
{
GCPNoMoreTrans* req2 = (GCPNoMoreTrans*)signal->getDataPtrSend();
+ req2->senderRef = reference();
req2->senderData = m_micro_gcp.m_master_ref;
req2->gci_hi = (Uint32)(m_micro_gcp.m_old_gci >> 32);
req2->gci_lo = (Uint32)(m_micro_gcp.m_old_gci & 0xFFFFFFFF);
@@ -9952,6 +9953,7 @@ void Dbdih::execGCP_COMMIT(Signal* signa
emptyverificbuffer(signal, true);
GCPNoMoreTrans* req2 = (GCPNoMoreTrans*)signal->getDataPtrSend();
+ req2->senderRef = reference();
req2->senderData = calcDihBlockRef(masterNodeId);
req2->gci_hi = (Uint32)(m_micro_gcp.m_old_gci >> 32);
req2->gci_lo = (Uint32)(m_micro_gcp.m_old_gci & 0xFFFFFFFF);
=== modified file 'storage/ndb/src/kernel/blocks/dbtc/Dbtc.hpp'
--- a/storage/ndb/src/kernel/blocks/dbtc/Dbtc.hpp 2011-01-17 15:00:13 +0000
+++ b/storage/ndb/src/kernel/blocks/dbtc/Dbtc.hpp 2011-01-28 13:54:32 +0000
@@ -2050,6 +2050,7 @@ private:
/**************************************************************************/
Uint32 c_gcp_ref;
+ Uint32 c_gcp_data;
Uint32 c_sttor_ref;
=== modified file 'storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp'
--- a/storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp 2011-01-17 15:00:13 +0000
+++ b/storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp 2011-01-28 13:54:32 +0000
@@ -7813,7 +7813,8 @@ void Dbtc::execGCP_NOMORETRANS(Signal* s
{
jamEntry();
GCPNoMoreTrans* req = (GCPNoMoreTrans*)signal->getDataPtr();
- c_gcp_ref = req->senderData;
+ c_gcp_ref = req->senderRef;
+ c_gcp_data = req->senderData;
Uint32 gci_lo = req->gci_lo;
Uint32 gci_hi = req->gci_hi;
tcheckGcpId = gci_lo | (Uint64(gci_hi) << 32);
@@ -11629,10 +11630,10 @@ void Dbtc::sendScanTabConf(Signal* signa
void Dbtc::gcpTcfinished(Signal* signal, Uint64 gci)
{
GCPTCFinished* conf = (GCPTCFinished*)signal->getDataPtrSend();
- conf->senderData = c_gcp_ref;
+ conf->senderData = c_gcp_data;
conf->gci_hi = Uint32(gci >> 32);
conf->gci_lo = Uint32(gci);
- sendSignal(cdihblockref, GSN_GCP_TCFINISHED, signal,
+ sendSignal(c_gcp_ref, GSN_GCP_TCFINISHED, signal,
GCPTCFinished::SignalLength, JBB);
}//Dbtc::gcpTcfinished()
No bundle (reason: useless for push emails).
| Thread |
|---|
| • bzr push into mysql-5.1-telco-7.0 branch (jonas:4154 to 4155) | Jonas Oreland | 28 Jan |