diff options
author | tomas@whalegate.ndb.mysql.com <> | 2007-05-24 21:02:01 +0200 |
---|---|---|
committer | tomas@whalegate.ndb.mysql.com <> | 2007-05-24 21:02:01 +0200 |
commit | 259d7deb66f27b549a902fd5d753a54e0ec0db28 (patch) | |
tree | e27154dd222a4ac738360b24bc6afb0651dd62f1 /ndb | |
parent | 95ae6e684e2ec12c84102a8ca5133c15d6f646cc (diff) | |
download | mariadb-git-259d7deb66f27b549a902fd5d753a54e0ec0db28.tar.gz |
Bug #28653 Fast GCP + high load + high RedoBuffer causes ndbrequire
- correction, use recomputed _actual_ redobuffer
Diffstat (limited to 'ndb')
-rw-r--r-- | ndb/src/kernel/blocks/dblqh/Dblqh.hpp | 5 | ||||
-rw-r--r-- | ndb/src/kernel/blocks/dblqh/DblqhInit.cpp | 4 | ||||
-rw-r--r-- | ndb/src/kernel/blocks/dblqh/DblqhMain.cpp | 5 |
3 files changed, 10 insertions, 4 deletions
diff --git a/ndb/src/kernel/blocks/dblqh/Dblqh.hpp b/ndb/src/kernel/blocks/dblqh/Dblqh.hpp index 4474d226a27..2ed08db527c 100644 --- a/ndb/src/kernel/blocks/dblqh/Dblqh.hpp +++ b/ndb/src/kernel/blocks/dblqh/Dblqh.hpp @@ -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; diff --git a/ndb/src/kernel/blocks/dblqh/DblqhInit.cpp b/ndb/src/kernel/blocks/dblqh/DblqhInit.cpp index 3452269be51..65f4b0f9b4b 100644 --- a/ndb/src/kernel/blocks/dblqh/DblqhInit.cpp +++ b/ndb/src/kernel/blocks/dblqh/DblqhInit.cpp @@ -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; diff --git a/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp b/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp index 684598364ab..88bc3f372a5 100644 --- a/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp +++ b/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp @@ -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); |