!1161 增加nblock cache,降低smgrnblock造成的系统负载高
Merge pull request !1161 from 邓旭玥/efix_0804
This commit is contained in:
@ -1764,8 +1764,16 @@ Buffer ReadBuffer_common_for_localbuf(RelFileNode rnode, char relpersistence, Fo
|
||||
* should return that the tuple does not exist without error reporting.
|
||||
*/
|
||||
else if (RecoveryInProgress()) {
|
||||
if (blockNum >= smgrnblocks(smgr, forkNum))
|
||||
BlockNumber totalBlkNum = smgrnblocks_cached(smgr, forkNum);
|
||||
|
||||
/* Update cached blocks */
|
||||
if (totalBlkNum == InvalidBlockNumber || blockNum >= totalBlkNum) {
|
||||
totalBlkNum = smgrnblocks(smgr, forkNum);
|
||||
}
|
||||
|
||||
if (blockNum >= totalBlkNum) {
|
||||
return InvalidBuffer;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
@ -60,7 +60,7 @@ typedef struct SMgrRelationData {
|
||||
BlockNumber smgr_targblock; /* current insertion target block */
|
||||
BlockNumber smgr_fsm_nblocks; /* last known size of fsm fork */
|
||||
BlockNumber smgr_vm_nblocks; /* last known size of vm fork */
|
||||
BlockNumber smgr_cached_nblocks; /* last known size of main fork*/
|
||||
BlockNumber smgr_cached_nblocks; /* last known size of main fork */
|
||||
|
||||
int smgr_bcmarry_size;
|
||||
BlockNumber* smgr_bcm_nblocks; /* last known size of bcm fork */
|
||||
|
||||
Reference in New Issue
Block a user