From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Kenneth Marshall <ktm(at)is(dot)rice(dot)edu> |
Cc: | pgsql-hackers(at)postgreSQL(dot)org, xu(at)cs(dot)wisc(dot)edu |
Subject: | Re: Re: We have got a serious problem with pg_clog/WAL synchronization |
Date: | 2004-08-12 17:13:46 |
Message-ID: | 182.1092330826@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general pgsql-hackers |
Kenneth Marshall <ktm(at)is(dot)rice(dot)edu> writes:
> On Thu, Aug 12, 2004 at 09:58:56AM -0400, Tom Lane wrote:
>> How would a read-only action work to block out the checkpoint?
> The latch+version number is use by the checkpoint process. The
> other processes can do a read of the latch to determine if it has
> been set. This does not cause a cache invalidation hit. If the
> latch is set, the competing processes read until it has been
> cleared and the version updated. This makes the general case of
> no checkpoint not incur a write and the consequent cache-line
> invalidation and reload by all processors on an SMP system.
Except that reading the latch and finding it clear offers no guarantee
that a checkpoint isn't about to start. The problem is that we are
performing two separate actions (write a COMMIT xlog record and update
transaction status in clog) and we have to prevent a checkpoint from
starting in between those actions. I don't see that there's any way to
do that with a read-only latch.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Bruno Wolff III | 2004-08-12 17:40:23 | Re: Performance critical technical key |
Previous Message | Kenneth Marshall | 2004-08-12 17:03:36 | Re: Re: We have got a serious problem with pg_clog/WAL synchronization |
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2004-08-12 17:49:59 | Re: [HACKERS] SAVEPOINT syntax again |
Previous Message | Kenneth Marshall | 2004-08-12 17:03:36 | Re: Re: We have got a serious problem with pg_clog/WAL synchronization |