Move MarkCurrentTransactionIdLoggedIfAny() out of the critical section.
We don't modify any shared state in this function which could cause problems for any concurrent session. This will make it look similar to the other updates for the same structure (TransactionState) which avoids confusion for future readers of code. Author: Dilip Kumar Reviewed-by: Amit Kapila Discussion: https://postgr.es/m/E1mSoYz-0007Fh-D9@gemulon.postgresql.org
This commit is contained in:
parent
71db6459e6
commit
335397456b
@ -1169,10 +1169,10 @@ XLogInsertRecord(XLogRecData *rdata,
|
||||
*/
|
||||
WALInsertLockRelease();
|
||||
|
||||
MarkCurrentTransactionIdLoggedIfAny();
|
||||
|
||||
END_CRIT_SECTION();
|
||||
|
||||
MarkCurrentTransactionIdLoggedIfAny();
|
||||
|
||||
/*
|
||||
* Mark top transaction id is logged (if needed) so that we should not try
|
||||
* to log it again with the next WAL record in the current subtransaction.
|
||||
|
Loading…
x
Reference in New Issue
Block a user