diff --git a/ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp b/ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp index 089cf613b03..9eaa203b098 100644 --- a/ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp +++ b/ndb/src/kernel/blocks/ndbcntr/NdbcntrMain.cpp @@ -103,8 +103,22 @@ void Ndbcntr::execCONTINUEB(Signal* signal) } Uint64 now = NdbTick_CurrentMillisecond(); - if(now > c_start.m_startFailureTimeout){ - ndbrequire(false); + if(now > c_start.m_startFailureTimeout) + { + jam(); + Uint32 to_3= 0; + const ndb_mgm_configuration_iterator * p = + theConfiguration.getOwnConfigIterator(); + ndb_mgm_get_int_parameter(p, CFG_DB_START_FAILURE_TIMEOUT, &to_3); + BaseString tmp; + tmp.append("Shutting down node as total restart time exceeds " + " StartFailureTimeout as set in config file "); + if(to_3 == 0) + tmp.append(" 0 (inifinite)"); + else + tmp.appfmt(" %d", to_3); + + progError(__LINE__, ERR_SYSTEM_ERROR, tmp.c_str()); } signal->theData[0] = ZSTARTUP; @@ -413,7 +427,7 @@ inline Uint64 setTimeout(Uint64 time, Uint32 timeoutValue){ if(timeoutValue == 0) - return ~0; + return ~(Uint64)0; return time + timeoutValue; }