!1996 修复gprc锁初始化的bug

Merge pull request !1996 from 胡正超/lwlockinit
This commit is contained in:
opengauss-bot
2022-08-08 11:19:04 +00:00
committed by Gitee
2 changed files with 9 additions and 1 deletions

View File

@ -188,6 +188,7 @@ static const char *BuiltinTrancheNames[] = {
"SegmentHeadPartitionLock",
"TwoPhaseStatePartLock",
"RoleIdPartLock",
"GPRCMappingLock",
"PgwrSyncQueueLock",
"BarrierHashTblLock",
"PageRepairHashTblLock",
@ -627,6 +628,11 @@ static void InitializeLWLocks(int numLocks)
for (id = 0; id < NUM_SESSION_ROLEID_PARTITIONS; id++, lock++) {
LWLockInitialize(&lock->lock, LWTRANCHE_ROLEID_PARTITION);
}
for (id = 0; id < NUM_GPRC_PARTITIONS; id++, lock++) {
LWLockInitialize(&lock->lock, LWTRANCHE_GPRC_MAPPING);
}
Assert((lock - t_thrd.shemem_ptr_cxt.mainLWLockArray) == NumFixedLWLocks);
for (id = NumFixedLWLocks; id < numLocks; id++, lock++) {

View File

@ -183,9 +183,10 @@ const struct LWLOCK_PARTITION_DESC LWLockPartInfo[] = {
#define FirstTwoPhaseStateLock (FirstSegmentHeadLock + NUM_SEGMENT_HEAD_PARTITIONS)
/* session roleid */
#define FirstSessRoleIdLock (FirstTwoPhaseStateLock + NUM_TWOPHASE_PARTITIONS)
/* autonomous transaction package value */
#define FirstGPRCMappingLock (FirstSessRoleIdLock + NUM_SESSION_ROLEID_PARTITIONS)
/* must be last: */
#define NumFixedLWLocks (FirstSessRoleIdLock + NUM_SESSION_ROLEID_PARTITIONS)
#define NumFixedLWLocks (FirstGPRCMappingLock + NUM_GPRC_PARTITIONS)
/*
* WARNING----Please keep BuiltinTrancheIds and BuiltinTrancheNames consistent!!!
*
@ -254,6 +255,7 @@ enum BuiltinTrancheIds
LWTRANCHE_SEGHEAD_PARTITION,
LWTRANCHE_TWOPHASE_STATE,
LWTRANCHE_ROLEID_PARTITION,
LWTRANCHE_GPRC_MAPPING,
LWTRANCHE_PGWR_SYNC_QUEUE,
LWTRANCHE_BARRIER_TBL,
LWTRANCHE_PAGE_REPAIR,