Re: Improve XLOG_NO_TRAN related comments
- From: Qingqing Zhou <zhouqq(at)cs(dot)toronto(dot)edu>
- To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
- Cc: pgsql-patches(at)postgresql(dot)org
- Subject: Re: Improve XLOG_NO_TRAN related comments
- Date: Sun, 25 Dec 2005 16:44:41 -0500 (EST)
- Message-id: <Pine.LNX.4.58.0512251633340.28412@eon.cs> <text/plain>
On Sat, 24 Dec 2005, Tom Lane wrote:
>
> Removing these comments entirely, without changing the code they explain,
> doesn't strike me as an improvement.
>
I just checked if we can remove XLOG_NO_TRAN happily, and the conclusion
is that it could bring some benefits (though not much) to our system. The
key is the CheckpointStartLock lock. If we remove XLOG_NO_TRAN, then even
statement like this will block/wait checkpoint:
SELECT nextval('serial');
Of course, we can add a test in XLogInsert() to solve this problem like
this:
no_tran == ((rmid == RM_XLOG_ID) || (rmid == RM_SEQ_ID) || ...)
But the better way is leave XLOG_NO_TRAN for now till we find a way to
avoid CheckpointStartLock lock.
Regards,
Qingqing
Home |
Main Index |
Thread Index