Commit 0c03b509 authored by jonas@perch.ndb.mysql.com's avatar jonas@perch.ndb.mysql.com
Browse files

ndb - bug#30172

  Backup can assert with "big" table definitions
  Correct condition before fetching next meta-table
  Increase meta-buffer, to cope with atleast 2 tables
parent f4d6dd71
Loading
Loading
Loading
Loading
+8 −6
Original line number Diff line number Diff line
@@ -374,15 +374,17 @@ Backup::execCONTINUEB(Signal* signal)
    ptr.p->files.getPtr(filePtr, ptr.p->ctlFilePtr);
    FsBuffer & buf = filePtr.p->operation.dataBuffer;
    
    if(buf.getFreeSize() + buf.getMinRead() < buf.getUsableSize()) {
    if(buf.getFreeSize() < buf.getMaxWrite()) {
      jam();
      TablePtr tabPtr LINT_SET_PTR;
      c_tablePool.getPtr(tabPtr, Tdata2);
      
      DEBUG_OUT("Backup - Buffer full - " << buf.getFreeSize()
		<< " + " << buf.getMinRead()
		<< " < " << buf.getUsableSize()
		<< " - tableId = " << tabPtr.p->tableId);
      DEBUG_OUT("Backup - Buffer full - " 
                << buf.getFreeSize()
		<< " < " << buf.getMaxWrite()
                << " (sz: " << buf.getUsableSize()
                << " getMinRead: " << buf.getMinRead()
		<< ") - tableId = " << tabPtr.p->tableId);
      
      signal->theData[0] = BackupContinueB::BUFFER_FULL_META;
      signal->theData[1] = Tdata1;
+1 −1
Original line number Diff line number Diff line
@@ -518,7 +518,7 @@ public:
  Uint32 m_diskless;

  STATIC_CONST(NO_OF_PAGES_META_FILE = 
	       (MAX_WORDS_META_FILE + BACKUP_WORDS_PER_PAGE - 1) / 
	       (2*MAX_WORDS_META_FILE + BACKUP_WORDS_PER_PAGE - 1) / 
	       BACKUP_WORDS_PER_PAGE);
  
  /**