ndb - bug#24949

  make sure not too poll to long, in case of hb-failure of last db-node
parent 05dd5fc2
......@@ -1276,9 +1276,9 @@ Ndb::waitCompletedTransactions(int aMilliSecondsToWait,
NDB_TICKS currTime = NdbTick_CurrentMillisecond();
NDB_TICKS maxTime = currTime + (NDB_TICKS)waitTime;
theMinNoOfEventsToWakeUp = noOfEventsToWaitFor;
const int maxsleep = aMilliSecondsToWait > 10 ? 10 : aMilliSecondsToWait;
do {
if (waitTime < 1000) waitTime = 1000;
poll_guard->wait_for_input(waitTime);
poll_guard->wait_for_input(maxsleep);
if (theNoOfCompletedTransactions >= (Uint32)noOfEventsToWaitFor) {
break;
}//if
......
......@@ -1385,15 +1385,13 @@ int PollGuard::wait_for_input_in_loop(int wait_time, bool forceSend)
m_tp->forceSend(m_block_no);
else
m_tp->checkForceSend(m_block_no);
if (wait_time == -1) //Means wait forever
response_time= WAITFOR_RESPONSE_TIMEOUT;
else
response_time= wait_time;
NDB_TICKS curr_time = NdbTick_CurrentMillisecond();
NDB_TICKS max_time = curr_time + (NDB_TICKS)wait_time;
const int maxsleep = (wait_time == -1 || wait_time > 10) ? 10 : wait_time;
do
{
wait_for_input(response_time);
wait_for_input(maxsleep);
Uint32 state= m_waiter->get_state();
if (state == NO_WAIT)
{
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment