Commit 06ab9013 authored by unknown's avatar unknown
Browse files

bug#10294 - ndb restore with #concurrent transactions < parallelism

  Enable retry on startTransaction


ndb/tools/restore/consumer_restore.cpp:
  Enable retry on startTransaction==NULL
parent 05b34194
Loading
Loading
Loading
Loading
+16 −8
Original line number Diff line number Diff line
@@ -288,12 +288,11 @@ void BackupRestore::tuple_a(restore_callback_t *cb)
    cb->connection = m_ndb->startTransaction();
    if (cb->connection == NULL) 
    {
      /*
      if (errorHandler(cb)) 
      {
	m_ndb->sendPollNdb(3000, 1);
	continue;
      }
      */
      exitHandler();
    } // if
    
@@ -409,9 +408,17 @@ void BackupRestore::cback(int result, restore_callback_t *cb)
 */
bool BackupRestore::errorHandler(restore_callback_t *cb) 
{
  NdbError error= cb->connection->getNdbError();
  NdbError error;
  if(cb->connection)
  {
    error= cb->connection->getNdbError();
    m_ndb->closeTransaction(cb->connection);
    cb->connection= 0;
  }
  else
  {
    error= m_ndb->getNdbError();
  } 

  Uint32 sleepTime = 100 + cb->retries * 300;
  
@@ -426,6 +433,7 @@ bool BackupRestore::errorHandler(restore_callback_t *cb)
    break;
    
  case NdbError::TemporaryError:
    err << "Temporary error: " << error << endl;
    NdbSleep_MilliSleep(sleepTime);
    return true;
    // RETRY