Below is the list of changes that have just been committed into a local
5.1 repository of tomas. When tomas does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet
1.1979 06/01/26 09:48:56 tomas@stripped +4 -0
added dump at unable to find restorable replica
added dump at unable to find restorable replica
add debug printout for tracing early connection handling
fix bug in error message handling on some connect failures
storage/ndb/src/kernel/vm/TransporterCallback.cpp
1.12 06/01/26 09:48:42 tomas@stripped +2 -1
fix bug in error message handling on some connect failures
storage/ndb/src/kernel/blocks/qmgr/QmgrMain.cpp
1.24 06/01/26 09:48:42 tomas@stripped +2 -2
add debug printout for tracing early connection handling
storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp
1.40 06/01/26 09:48:42 tomas@stripped +78 -0
added dump at unable to find restorable replica
storage/ndb/src/kernel/blocks/dbdih/Dbdih.hpp
1.11 06/01/26 09:48:42 tomas@stripped +2 -0
added dump at unable to find restorable replica
# This is a BitKeeper patch. What follows are the unified diffs for the
# set of deltas contained in the patch. The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User: tomas
# Host: poseidon.ndb.mysql.com
# Root: /home/tomas/wl2325-alcatel
--- 1.10/storage/ndb/src/kernel/blocks/dbdih/Dbdih.hpp 2005-07-18 13:30:21 +02:00
+++ 1.11/storage/ndb/src/kernel/blocks/dbdih/Dbdih.hpp 2006-01-26 09:48:42 +01:00
@@ -1596,6 +1596,8 @@
* Reply from nodeId
*/
void startInfoReply(Signal *, Uint32 nodeId);
+
+ void dump_replica_info();
};
#if (DIH_CDATA_SIZE < _SYSFILE_SIZE32)
--- 1.39/storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp 2005-12-20 10:05:43 +01:00
+++ 1.40/storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp 2006-01-26 09:48:42 +01:00
@@ -8690,6 +8690,80 @@
/*****************************************************************************/
/* ********** START FRAGMENT MODULE *************/
/*****************************************************************************/
+void
+Dbdih::dump_replica_info()
+{
+ TabRecordPtr tabPtr;
+ FragmentstorePtr fragPtr;
+
+ for(tabPtr.i = 0; tabPtr.i < ctabFileSize; tabPtr.i++)
+ {
+ ptrCheckGuard(tabPtr, ctabFileSize, tabRecord);
+ if (tabPtr.p->tabStatus != TabRecord::TS_ACTIVE)
+ continue;
+
+ for(Uint32 fid = 0; fid<tabPtr.p->totalfragments; fid++)
+ {
+ getFragstore(tabPtr.p, fid, fragPtr);
+ ndbout_c("tab: %d frag: %d gci: %d\n -- storedReplicas:",
+ tabPtr.i, fid, SYSFILE->newestRestorableGCI);
+
+ Uint32 i;
+ ReplicaRecordPtr replicaPtr;
+ replicaPtr.i = fragPtr.p->storedReplicas;
+ for(; replicaPtr.i != RNIL; replicaPtr.i = replicaPtr.p->nextReplica)
+ {
+ ptrCheckGuard(replicaPtr, creplicaFileSize, replicaRecord);
+ ndbout_c(" node: %d initialGci: %d nextLcp: %d noCrashedReplicas: %d",
+ replicaPtr.p->procNode,
+ replicaPtr.p->initialGci,
+ replicaPtr.p->nextLcp,
+ replicaPtr.p->noCrashedReplicas);
+ for(i = 0; i<MAX_LCP_STORED; i++)
+ {
+ ndbout_c(" i: %d %s : lcpId: %d maxGci Completed: %d Started: %d",
+ i,
+ (replicaPtr.p->lcpStatus[i] == ZVALID ?"VALID":"INVALID"),
+ replicaPtr.p->lcpId[i],
+ replicaPtr.p->maxGciCompleted[i],
+ replicaPtr.p->maxGciStarted[i]);
+ }
+
+ for (i = 0; i < 8; i++)
+ {
+ ndbout_c(" crashed replica: %d replicaLastGci: %d createGci: %d",
+ i,
+ replicaPtr.p->replicaLastGci[i],
+ replicaPtr.p->createGci[i]);
+ }
+ }
+ ndbout_c(" -- oldStoredReplicas");
+ replicaPtr.i = fragPtr.p->oldStoredReplicas;
+ for(; replicaPtr.i != RNIL; replicaPtr.i = replicaPtr.p->nextReplica)
+ {
+ ptrCheckGuard(replicaPtr, creplicaFileSize, replicaRecord);
+ for(i = 0; i<MAX_LCP_STORED; i++)
+ {
+ ndbout_c(" i: %d %s : lcpId: %d maxGci Completed: %d Started: %d",
+ i,
+ (replicaPtr.p->lcpStatus[i] == ZVALID ?"VALID":"INVALID"),
+ replicaPtr.p->lcpId[i],
+ replicaPtr.p->maxGciCompleted[i],
+ replicaPtr.p->maxGciStarted[i]);
+ }
+
+ for (i = 0; i < 8; i++)
+ {
+ ndbout_c(" crashed replica: %d replicaLastGci: %d createGci: %d",
+ i,
+ replicaPtr.p->replicaLastGci[i],
+ replicaPtr.p->createGci[i]);
+ }
+ }
+ }
+ }
+}
+
void Dbdih::startFragment(Signal* signal, Uint32 tableId, Uint32 fragId)
{
Uint32 TloopCount = 0;
@@ -8763,6 +8837,10 @@
char buf[64];
BaseString::snprintf(buf, sizeof(buf), "table: %d fragment: %d gci: %d",
tableId, fragId, SYSFILE->newestRestorableGCI);
+
+ ndbout_c(buf);
+ dump_replica_info();
+
progError(__LINE__, NDBD_EXIT_NO_RESTORABLE_REPLICA, buf);
ndbrequire(false);
return;
--- 1.23/storage/ndb/src/kernel/blocks/qmgr/QmgrMain.cpp 2006-01-18 10:18:47 +01:00
+++ 1.24/storage/ndb/src/kernel/blocks/qmgr/QmgrMain.cpp 2006-01-26 09:48:42 +01:00
@@ -945,10 +945,10 @@
return;
case ZFAIL_CLOSING:
jam();
-#ifdef VM_TRACE
+//#ifdef VM_TRACE
ndbout_c("Enabling communication to CM_ADD node state=%d",
nodePtr.p->phase);
-#endif
+//#endif
nodePtr.p->phase = ZSTARTING;
nodePtr.p->failState = NORMAL;
signal->theData[0] = 0;
--- 1.11/storage/ndb/src/kernel/vm/TransporterCallback.cpp 2005-10-11 17:05:51 +02:00
+++ 1.12/storage/ndb/src/kernel/vm/TransporterCallback.cpp 2006-01-26 09:48:42 +01:00
@@ -55,7 +55,8 @@
const char *lookupConnectionError(Uint32 err)
{
int i= 0;
- while ((Uint32)connectionError[i].err != err && (Uint32)connectionError[i].err != -1);
+ while ((Uint32)connectionError[i].err != err && (Uint32)connectionError[i].err != -1)
+ i++;
return connectionError[i].text;
}
| Thread |
|---|
| • bk commit into 5.1 tree (tomas:1.1979) | tomas | 26 Jan |