summaryrefslogtreecommitdiff
path: root/ndb
diff options
context:
space:
mode:
authorunknown <mronstrom@mysql.com>2004-08-05 20:16:45 +0200
committerunknown <mronstrom@mysql.com>2004-08-05 20:16:45 +0200
commita2b6166e0d8e0782318d8c258234013163ae133e (patch)
tree137edcf989b6c5d532be1bf0e72ca9a1ae4aa933 /ndb
parentcdca651f6dd2c5628bb4470b3b13368a2c8db8e1 (diff)
downloadmariadb-git-a2b6166e0d8e0782318d8c258234013163ae133e.tar.gz
Fix for BUG #4096
Introduced refresh of watch dog at various places and removed init of memory in allocRecord Also changed default watch to 6 seconds
Diffstat (limited to 'ndb')
-rw-r--r--ndb/src/common/mgmcommon/ConfigInfo.cpp2
-rw-r--r--ndb/src/kernel/blocks/dbacc/DbaccMain.cpp7
-rw-r--r--ndb/src/kernel/blocks/dbdict/Dbdict.cpp2
-rw-r--r--ndb/src/kernel/blocks/dbdih/DbdihMain.cpp6
-rw-r--r--ndb/src/kernel/blocks/dblqh/DblqhMain.cpp7
-rw-r--r--ndb/src/kernel/blocks/dbtc/DbtcMain.cpp10
-rw-r--r--ndb/src/kernel/blocks/dbtup/DbtupGen.cpp6
-rw-r--r--ndb/src/kernel/blocks/dbtup/DbtupPagMan.cpp1
-rw-r--r--ndb/src/kernel/blocks/dbtux/DbtuxGen.cpp1
-rw-r--r--ndb/src/kernel/vm/SimulatedBlock.cpp12
-rw-r--r--ndb/src/kernel/vm/SimulatedBlock.hpp8
11 files changed, 57 insertions, 5 deletions
diff --git a/ndb/src/common/mgmcommon/ConfigInfo.cpp b/ndb/src/common/mgmcommon/ConfigInfo.cpp
index 89280aa80e8..540c34150a9 100644
--- a/ndb/src/common/mgmcommon/ConfigInfo.cpp
+++ b/ndb/src/common/mgmcommon/ConfigInfo.cpp
@@ -494,7 +494,7 @@ const ConfigInfo::ParamInfo ConfigInfo::m_ParamInfo[] = {
ConfigInfo::USED,
true,
ConfigInfo::INT,
- 4000,
+ 6000,
70,
MAX_INT_RNIL },
diff --git a/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp b/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp
index ccc1acdd273..9a9e15a66ef 100644
--- a/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp
+++ b/ndb/src/kernel/blocks/dbacc/DbaccMain.cpp
@@ -757,6 +757,7 @@ void Dbacc::initialiseDirRec(Signal* signal)
DirectoryarrayPtr idrDirptr;
ndbrequire(cdirarraysize > 0);
for (idrDirptr.i = 0; idrDirptr.i < cdirarraysize; idrDirptr.i++) {
+ refresh_watch_dog();
ptrAss(idrDirptr, directoryarray);
for (Uint32 i = 0; i <= 255; i++) {
idrDirptr.p->pagep[i] = RNIL;
@@ -776,6 +777,7 @@ void Dbacc::initialiseDirRangeRec(Signal* signal)
ndbrequire(cdirrangesize > 0);
for (idrDirRangePtr.i = 0; idrDirRangePtr.i < cdirrangesize; idrDirRangePtr.i++) {
+ refresh_watch_dog();
ptrAss(idrDirRangePtr, dirRange);
idrDirRangePtr.p->dirArray[0] = idrDirRangePtr.i + 1;
for (Uint32 i = 1; i < 256; i++) {
@@ -798,6 +800,7 @@ void Dbacc::initialiseFragRec(Signal* signal)
ndbrequire(cfragmentsize > 0);
for (regFragPtr.i = 0; regFragPtr.i < cfragmentsize; regFragPtr.i++) {
jam();
+ refresh_watch_dog();
ptrAss(regFragPtr, fragmentrec);
initFragGeneral(regFragPtr);
regFragPtr.p->nextfreefrag = regFragPtr.i + 1;
@@ -876,6 +879,7 @@ void Dbacc::initialiseOperationRec(Signal* signal)
{
ndbrequire(coprecsize > 0);
for (operationRecPtr.i = 0; operationRecPtr.i < coprecsize; operationRecPtr.i++) {
+ refresh_watch_dog();
ptrAss(operationRecPtr, operationrec);
operationRecPtr.p->transactionstate = IDLE;
operationRecPtr.p->operation = ZUNDEFINED_OP;
@@ -898,6 +902,7 @@ void Dbacc::initialiseOverflowRec(Signal* signal)
ndbrequire(coverflowrecsize > 0);
for (iorOverflowRecPtr.i = 0; iorOverflowRecPtr.i < coverflowrecsize; iorOverflowRecPtr.i++) {
+ refresh_watch_dog();
ptrAss(iorOverflowRecPtr, overflowRecord);
iorOverflowRecPtr.p->nextfreeoverrec = iorOverflowRecPtr.i + 1;
}//for
@@ -958,6 +963,7 @@ void Dbacc::initialiseRootfragRec(Signal* signal)
{
ndbrequire(crootfragmentsize > 0);
for (rootfragrecptr.i = 0; rootfragrecptr.i < crootfragmentsize; rootfragrecptr.i++) {
+ refresh_watch_dog();
ptrAss(rootfragrecptr, rootfragmentrec);
rootfragrecptr.p->nextroot = rootfragrecptr.i + 1;
rootfragrecptr.p->fragmentptr[0] = RNIL;
@@ -1013,6 +1019,7 @@ void Dbacc::initialiseTableRec(Signal* signal)
{
ndbrequire(ctablesize > 0);
for (tabptr.i = 0; tabptr.i < ctablesize; tabptr.i++) {
+ refresh_watch_dog();
ptrAss(tabptr, tabrec);
for (Uint32 i = 0; i < NO_OF_FRAG_PER_NODE; i++) {
tabptr.p->fragholder[i] = RNIL;
diff --git a/ndb/src/kernel/blocks/dbdict/Dbdict.cpp b/ndb/src/kernel/blocks/dbdict/Dbdict.cpp
index 3b99f0d5392..b9891589fd2 100644
--- a/ndb/src/kernel/blocks/dbdict/Dbdict.cpp
+++ b/ndb/src/kernel/blocks/dbdict/Dbdict.cpp
@@ -1313,6 +1313,7 @@ void Dbdict::initTableRecords()
TableRecordPtr tablePtr;
while (1) {
jam();
+ refresh_watch_dog();
c_tableRecordPool.seize(tablePtr);
if (tablePtr.i == RNIL) {
jam();
@@ -1373,6 +1374,7 @@ void Dbdict::initTriggerRecords()
TriggerRecordPtr triggerPtr;
while (1) {
jam();
+ refresh_watch_dog();
c_triggerRecordPool.seize(triggerPtr);
if (triggerPtr.i == RNIL) {
jam();
diff --git a/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp b/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp
index 059f1301ba2..9ced0ff3ca5 100644
--- a/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp
+++ b/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp
@@ -6893,6 +6893,7 @@ void Dbdih::initialiseFragstore()
cfirstfragstore = RNIL;
cremainingfrags = 0;
for (Uint32 i = 0; i < noOfChunks; i++) {
+ refresh_watch_dog();
ptrCheckGuard(fragPtr, cfragstoreFileSize, fragmentstore);
fragPtr.p->nextFragmentChunk = cfirstfragstore;
cfirstfragstore = fragPtr.i;
@@ -11100,6 +11101,7 @@ void Dbdih::initialiseRecordsLab(Signal* signal,
jam();
/******** INTIALIZING API CONNECT RECORDS ********/
for (apiConnectptr.i = 0; apiConnectptr.i < capiConnectFileSize; apiConnectptr.i++) {
+ refresh_watch_dog();
ptrAss(apiConnectptr, apiConnectRecord);
apiConnectptr.p->nextApi = RNIL;
}//for
@@ -11111,6 +11113,7 @@ void Dbdih::initialiseRecordsLab(Signal* signal,
jam();
/****** CONNECT ******/
for (connectPtr.i = 0; connectPtr.i < cconnectFileSize; connectPtr.i++) {
+ refresh_watch_dog();
ptrAss(connectPtr, connectRecord);
connectPtr.p->userpointer = RNIL;
connectPtr.p->userblockref = ZNIL;
@@ -11175,6 +11178,7 @@ void Dbdih::initialiseRecordsLab(Signal* signal,
jam();
/******* PAGE RECORD ******/
for (pagePtr.i = 0; pagePtr.i < cpageFileSize; pagePtr.i++) {
+ refresh_watch_dog();
ptrAss(pagePtr, pageRecord);
pagePtr.p->nextfreepage = pagePtr.i + 1;
}//for
@@ -11191,6 +11195,7 @@ void Dbdih::initialiseRecordsLab(Signal* signal,
/******* REPLICA RECORD ******/
for (initReplicaPtr.i = 0; initReplicaPtr.i < creplicaFileSize;
initReplicaPtr.i++) {
+ refresh_watch_dog();
ptrAss(initReplicaPtr, replicaRecord);
initReplicaPtr.p->lcpIdStarted = 0;
initReplicaPtr.p->lcpOngoingFlag = false;
@@ -11210,6 +11215,7 @@ void Dbdih::initialiseRecordsLab(Signal* signal,
/********* TAB-DESCRIPTOR ********/
for (loopTabptr.i = 0; loopTabptr.i < ctabFileSize; loopTabptr.i++) {
ptrAss(loopTabptr, tabRecord);
+ refresh_watch_dog();
initTable(loopTabptr);
}//for
break;
diff --git a/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp b/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp
index 8bef953f522..ca538612c6e 100644
--- a/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp
+++ b/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp
@@ -15931,6 +15931,7 @@ void Dblqh::initialiseAttrbuf(Signal* signal)
for (attrinbufptr.i = 0;
attrinbufptr.i < cattrinbufFileSize;
attrinbufptr.i++) {
+ refresh_watch_dog();
ptrAss(attrinbufptr, attrbuf);
attrinbufptr.p->attrbuf[ZINBUF_NEXT] = attrinbufptr.i + 1;
}//for
@@ -15953,6 +15954,7 @@ void Dblqh::initialiseDatabuf(Signal* signal)
{
if (cdatabufFileSize != 0) {
for (databufptr.i = 0; databufptr.i < cdatabufFileSize; databufptr.i++) {
+ refresh_watch_dog();
ptrAss(databufptr, databuf);
databufptr.p->nextDatabuf = databufptr.i + 1;
}//for
@@ -15974,6 +15976,7 @@ void Dblqh::initialiseFragrec(Signal* signal)
{
if (cfragrecFileSize != 0) {
for (fragptr.i = 0; fragptr.i < cfragrecFileSize; fragptr.i++) {
+ refresh_watch_dog();
ptrAss(fragptr, fragrecord);
fragptr.p->fragStatus = Fragrecord::FREE;
fragptr.p->fragActiveStatus = ZFALSE;
@@ -16106,6 +16109,7 @@ void Dblqh::initialiseLogPage(Signal* signal)
{
if (clogPageFileSize != 0) {
for (logPagePtr.i = 0; logPagePtr.i < clogPageFileSize; logPagePtr.i++) {
+ refresh_watch_dog();
ptrAss(logPagePtr, logPageRecord);
logPagePtr.p->logPageWord[ZNEXT_PAGE] = logPagePtr.i + 1;
}//for
@@ -16283,6 +16287,7 @@ void Dblqh::initialiseScanrec(Signal* signal)
DLList<ScanRecord> tmp(c_scanRecordPool);
while (tmp.seize(scanptr)){
//new (scanptr.p) ScanRecord();
+ refresh_watch_dog();
scanptr.p->scanType = ScanRecord::ST_IDLE;
scanptr.p->scanState = ScanRecord::SCAN_FREE;
scanptr.p->scanTcWaiting = ZFALSE;
@@ -16300,6 +16305,7 @@ void Dblqh::initialiseTabrec(Signal* signal)
{
if (ctabrecFileSize != 0) {
for (tabptr.i = 0; tabptr.i < ctabrecFileSize; tabptr.i++) {
+ refresh_watch_dog();
ptrAss(tabptr, tablerec);
tabptr.p->tableStatus = Tablerec::NOT_DEFINED;
tabptr.p->usageCount = 0;
@@ -16321,6 +16327,7 @@ void Dblqh::initialiseTcrec(Signal* signal)
for (tcConnectptr.i = 0;
tcConnectptr.i < ctcConnectrecFileSize;
tcConnectptr.i++) {
+ refresh_watch_dog();
ptrAss(tcConnectptr, tcConnectionrec);
tcConnectptr.p->transactionState = TcConnectionrec::TC_NOT_CONNECTED;
tcConnectptr.p->tcScanRec = RNIL;
diff --git a/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp b/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp
index 066fb24f09c..c85f38a4361 100644
--- a/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp
+++ b/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp
@@ -9581,6 +9581,7 @@ void Dbtc::initApiConnect(Signal* signal)
ndbrequire(tiacTmp > 0);
guard4 = tiacTmp + 1;
for (cachePtr.i = 0; cachePtr.i < guard4; cachePtr.i++) {
+ refresh_watch_dog();
ptrAss(cachePtr, cacheRecord);
cachePtr.p->firstAttrbuf = RNIL;
cachePtr.p->lastAttrbuf = RNIL;
@@ -9595,6 +9596,7 @@ void Dbtc::initApiConnect(Signal* signal)
guard4 = tiacTmp - 1;
for (apiConnectptr.i = 0; apiConnectptr.i <= guard4; apiConnectptr.i++) {
+ refresh_watch_dog();
jam();
ptrAss(apiConnectptr, apiConnectRecord);
apiConnectptr.p->apiConnectstate = CS_DISCONNECTED;
@@ -9620,6 +9622,7 @@ void Dbtc::initApiConnect(Signal* signal)
guard4 = (2 * tiacTmp) - 1;
for (apiConnectptr.i = tiacTmp; apiConnectptr.i <= guard4; apiConnectptr.i++)
{
+ refresh_watch_dog();
jam();
ptrCheckGuard(apiConnectptr, capiConnectFilesize, apiConnectRecord);
apiConnectptr.p->apiConnectstate = CS_RESTART;
@@ -9645,6 +9648,7 @@ void Dbtc::initApiConnect(Signal* signal)
guard4 = (3 * tiacTmp) - 1;
for (apiConnectptr.i = 2 * tiacTmp; apiConnectptr.i <= guard4;
apiConnectptr.i++) {
+ refresh_watch_dog();
jam();
ptrCheckGuard(apiConnectptr, capiConnectFilesize, apiConnectRecord);
setApiConTimer(apiConnectptr.i, 0, __LINE__);
@@ -9673,6 +9677,7 @@ void Dbtc::initattrbuf(Signal* signal)
{
ndbrequire(cattrbufFilesize > 0);
for (attrbufptr.i = 0; attrbufptr.i < cattrbufFilesize; attrbufptr.i++) {
+ refresh_watch_dog();
jam();
ptrAss(attrbufptr, attrbufRecord);
attrbufptr.p->attrbuf[ZINBUF_NEXT] = attrbufptr.i + 1; /* NEXT ATTRBUF */
@@ -9687,6 +9692,7 @@ void Dbtc::initdatabuf(Signal* signal)
{
ndbrequire(cdatabufFilesize > 0);
for (databufptr.i = 0; databufptr.i < cdatabufFilesize; databufptr.i++) {
+ refresh_watch_dog();
ptrAss(databufptr, databufRecord);
databufptr.p->nextDatabuf = databufptr.i + 1;
}//for
@@ -9814,6 +9820,7 @@ void Dbtc::initialiseScanrec(Signal* signal)
ScanRecordPtr scanptr;
ndbrequire(cscanrecFileSize > 0);
for (scanptr.i = 0; scanptr.i < cscanrecFileSize; scanptr.i++) {
+ refresh_watch_dog();
jam();
ptrAss(scanptr, scanRecord);
new (scanptr.p) ScanRecord();
@@ -9840,6 +9847,7 @@ void Dbtc::initTable(Signal* signal)
ndbrequire(ctabrecFilesize > 0);
for (tabptr.i = 0; tabptr.i < ctabrecFilesize; tabptr.i++) {
+ refresh_watch_dog();
ptrAss(tabptr, tableRecord);
tabptr.p->currentSchemaVersion = 0;
tabptr.p->storedTable = true;
@@ -9856,6 +9864,7 @@ void Dbtc::initialiseTcConnect(Signal* signal)
// Place half of tcConnectptr's in cfirstfreeTcConnectFail list
Uint32 titcTmp = ctcConnectFilesize / 2;
for (tcConnectptr.i = 0; tcConnectptr.i < titcTmp; tcConnectptr.i++) {
+ refresh_watch_dog();
jam();
ptrAss(tcConnectptr, tcConnectRecord);
tcConnectptr.p->tcConnectstate = OS_RESTART;
@@ -9871,6 +9880,7 @@ void Dbtc::initialiseTcConnect(Signal* signal)
// Place other half in cfirstfreeTcConnect list
for (tcConnectptr.i = titcTmp; tcConnectptr.i < ctcConnectFilesize;
tcConnectptr.i++) {
+ refresh_watch_dog();
jam();
ptrAss(tcConnectptr, tcConnectRecord);
tcConnectptr.p->tcConnectstate = OS_RESTART;
diff --git a/ndb/src/kernel/blocks/dbtup/DbtupGen.cpp b/ndb/src/kernel/blocks/dbtup/DbtupGen.cpp
index 3b54817edb0..699b06c0506 100644
--- a/ndb/src/kernel/blocks/dbtup/DbtupGen.cpp
+++ b/ndb/src/kernel/blocks/dbtup/DbtupGen.cpp
@@ -891,6 +891,7 @@ void Dbtup::initializeAttrbufrec()
AttrbufrecPtr attrBufPtr;
for (attrBufPtr.i = 0;
attrBufPtr.i < cnoOfAttrbufrec; attrBufPtr.i++) {
+ refresh_watch_dog();
ptrAss(attrBufPtr, attrbufrec);
attrBufPtr.p->attrbuf[ZBUF_NEXT] = attrBufPtr.i + 1;
}//for
@@ -947,6 +948,7 @@ void Dbtup::initializeFragrecord()
{
FragrecordPtr regFragPtr;
for (regFragPtr.i = 0; regFragPtr.i < cnoOfFragrec; regFragPtr.i++) {
+ refresh_watch_dog();
ptrAss(regFragPtr, fragrecord);
regFragPtr.p->nextfreefrag = regFragPtr.i + 1;
regFragPtr.p->checkpointVersion = RNIL;
@@ -985,6 +987,7 @@ void Dbtup::initializeOperationrec()
{
OperationrecPtr regOpPtr;
for (regOpPtr.i = 0; regOpPtr.i < cnoOfOprec; regOpPtr.i++) {
+ refresh_watch_dog();
ptrAss(regOpPtr, operationrec);
regOpPtr.p->firstAttrinbufrec = RNIL;
regOpPtr.p->lastAttrinbufrec = RNIL;
@@ -1039,6 +1042,7 @@ void Dbtup::initializeTablerec()
TablerecPtr regTabPtr;
for (regTabPtr.i = 0; regTabPtr.i < cnoOfTablerec; regTabPtr.i++) {
ljam();
+ refresh_watch_dog();
ptrAss(regTabPtr, tablerec);
initTab(regTabPtr.p);
}//for
@@ -1102,6 +1106,7 @@ void Dbtup::initializeTabDescr()
cfreeTdList[i] = RNIL;
}//for
for (regTabDesPtr.i = 0; regTabDesPtr.i < cnoOfTabDescrRec; regTabDesPtr.i++) {
+ refresh_watch_dog();
ptrAss(regTabDesPtr, tableDescriptor);
regTabDesPtr.p->tabDescr = RNIL;
}//for
@@ -1114,6 +1119,7 @@ void Dbtup::initializeUndoPage()
for (undoPagep.i = 0;
undoPagep.i < cnoOfUndoPage;
undoPagep.i = undoPagep.i + ZUB_SEGMENT_SIZE) {
+ refresh_watch_dog();
ptrAss(undoPagep, undoPage);
undoPagep.p->undoPageWord[ZPAGE_NEXT_POS] = undoPagep.i +
ZUB_SEGMENT_SIZE;
diff --git a/ndb/src/kernel/blocks/dbtup/DbtupPagMan.cpp b/ndb/src/kernel/blocks/dbtup/DbtupPagMan.cpp
index 410cafee161..d842ee288a7 100644
--- a/ndb/src/kernel/blocks/dbtup/DbtupPagMan.cpp
+++ b/ndb/src/kernel/blocks/dbtup/DbtupPagMan.cpp
@@ -123,6 +123,7 @@ void Dbtup::initializePage()
PagePtr pagePtr;
for (pagePtr.i = 0; pagePtr.i < cnoOfPage; pagePtr.i++) {
ljam();
+ refresh_watch_dog();
ptrAss(pagePtr, page);
pagePtr.p->pageWord[ZPAGE_PHYSICAL_INDEX] = pagePtr.i;
pagePtr.p->pageWord[ZPAGE_NEXT_POS] = pagePtr.i + 1;
diff --git a/ndb/src/kernel/blocks/dbtux/DbtuxGen.cpp b/ndb/src/kernel/blocks/dbtux/DbtuxGen.cpp
index 93a5c78338c..0ab09d6f315 100644
--- a/ndb/src/kernel/blocks/dbtux/DbtuxGen.cpp
+++ b/ndb/src/kernel/blocks/dbtux/DbtuxGen.cpp
@@ -187,6 +187,7 @@ Dbtux::execREAD_CONFIG_REQ(Signal* signal)
IndexPtr indexPtr;
while (1) {
jam();
+ refresh_watch_dog();
c_indexPool.seize(indexPtr);
if (indexPtr.i == RNIL) {
jam();
diff --git a/ndb/src/kernel/vm/SimulatedBlock.cpp b/ndb/src/kernel/vm/SimulatedBlock.cpp
index a6a8a6242cd..01939cec0ac 100644
--- a/ndb/src/kernel/vm/SimulatedBlock.cpp
+++ b/ndb/src/kernel/vm/SimulatedBlock.cpp
@@ -641,7 +641,7 @@ SimulatedBlock::allocRecord(const char * type, size_t s, size_t n) const
void* p = NULL;
size_t size = n*s;
-
+ refresh_watch_dog();
if (size > 0){
#ifdef VM_TRACE_MEM
ndbout_c("%s::allocRecord(%s, %u, %u) = %u bytes",
@@ -660,8 +660,7 @@ SimulatedBlock::allocRecord(const char * type, size_t s, size_t n) const
snprintf(buf2, sizeof(buf2), "Requested: %ux%u = %u bytes", (Uint32)s, (Uint32)n, (Uint32)size);
ERROR_SET(fatal, ERR_MEMALLOC, buf1, buf2);
}
-
-
+#ifdef NDB_DEBUG_FULL
// Set the allocated memory to zero
#ifndef NDB_PURIFY
#if defined NDB_OSE
@@ -686,6 +685,7 @@ SimulatedBlock::allocRecord(const char * type, size_t s, size_t n) const
memset(p, 0xF1, size);
#endif
#endif
+#endif
}
return p;
}
@@ -704,6 +704,12 @@ SimulatedBlock::deallocRecord(void ** ptr,
}
void
+SimulatedBlock::refresh_watch_dog()
+{
+ globalData.incrementWatchDogCounter(1);
+}
+
+void
SimulatedBlock::progError(int line, int err_code, const char* extra) const {
jamLine(line);
diff --git a/ndb/src/kernel/vm/SimulatedBlock.hpp b/ndb/src/kernel/vm/SimulatedBlock.hpp
index 491d432625e..7a083adc28a 100644
--- a/ndb/src/kernel/vm/SimulatedBlock.hpp
+++ b/ndb/src/kernel/vm/SimulatedBlock.hpp
@@ -304,7 +304,13 @@ protected:
BlockNumber number() const;
BlockReference reference() const;
NodeId getOwnNodeId() const;
-
+
+ /**
+ * Refresh Watch Dog in initialising code
+ *
+ */
+ void refresh_watch_dog();
+
/**
* Prog error
* This function should be called when this node should be shutdown