Commit 259d7deb authored by tomas@whalegate.ndb.mysql.com's avatar tomas@whalegate.ndb.mysql.com
Browse files

Bug #28653 Fast GCP + high load + high RedoBuffer causes ndbrequire

- correction, use recomputed _actual_ redobuffer
parent 95ae6e68
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -2668,7 +2668,8 @@ private:
  UintR cfirstfreeLogFile;
  UintR clogFileFileSize;

#define ZLFO_FILE_SIZE 256            /* MAX 256 OUTSTANDING FILE OPERATIONS */
#define ZLFO_MIN_FILE_SIZE 256
// RedoBuffer/32K minimum ZLFO_MIN_FILE_SIZE
  LogFileOperationRecord *logFileOperationRecord;
  LogFileOperationRecordPtr lfoPtr;
  UintR cfirstfreeLfo;
@@ -2685,7 +2686,7 @@ private:
  UintR cfirstfreePageRef;
  UintR cpageRefFileSize;

#define ZSCANREC_FILE_SIZE 100
// Configurable
  ArrayPool<ScanRecord> c_scanRecordPool;
  ScanRecordPtr scanptr;
  UintR cscanNoFreeRec;
+2 −2
Original line number Diff line number Diff line
@@ -32,11 +32,11 @@ void Dblqh::initData()
  chostFileSize = MAX_NDB_NODES;
  clcpFileSize = ZNO_CONCURRENT_LCP;
  clcpLocrecFileSize = ZLCP_LOCREC_FILE_SIZE;
  clfoFileSize = ZLFO_FILE_SIZE;
  clfoFileSize = 0;
  clogFileFileSize = 0;
  clogPartFileSize = ZLOG_PART_FILE_SIZE;
  cpageRefFileSize = ZPAGE_REF_FILE_SIZE;
  cscanrecFileSize = ZSCANREC_FILE_SIZE;
  cscanrecFileSize = 0;
  ctabrecFileSize = 0;
  ctcConnectrecFileSize = 0;
  ctcNodeFailrecFileSize = MAX_NDB_NODES;
+5 −0
Original line number Diff line number Diff line
@@ -7251,6 +7251,11 @@ void Dblqh::continueScanNextReqLab(Signal* signal)
    return;
  }
  /* maximum number of log file operations */
  clfoFileSize = clogPageFileSize;
  if (clfoFileSize < ZLFO_MIN_FILE_SIZE)
    clfoFileSize = ZLFO_MIN_FILE_SIZE;
  // Update timer on tcConnectRecord
  tcConnectptr.p->tcTimer = cLqhTimeOutCount;
  init_acc_ptr_list(scanptr.p);