From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | "Pavan Deolasee" <pavan(dot)deolasee(at)gmail(dot)com> |
Cc: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, pgsql-patches(at)postgresql(dot)org |
Subject: | Re: [HACKERS] CIC and deadlocks |
Date: | 2007-04-11 06:52:41 |
Message-ID: | 8481.1176274361@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers pgsql-patches |
"Pavan Deolasee" <pavan(dot)deolasee(at)gmail(dot)com> writes:
> When I looked at the code, it occurred to me that possibly we are
> OK with just taking shared lock on the procarray. That means that
> some other transaction can concurrently set its serializable snapshot
> while we are scanning the procarray. But that should not harm us:
> if we see the snapshot set, we wait for the transaction. A transaction
> which is setting its serializable snapshot NOW, can not see the
> tuples that we did not index, isn't it ?
[ itch... ] The problem is with time-extended execution of
GetSnapshotData; what happens if the other guy lost the CPU for a good
long time while in the middle of GetSnapshotData? He might set his
xmin based on info you saw as long gone.
You might be correct that it's safe, but the argument would have to
hinge on the OldestXmin process being unable to commit because of
someone holding shared ProcArrayLock; a point you are definitely not
making above. (Study the comments in GetSnapshotData for awhile,
also those in xact.c's commit-related code.)
I'm about to head to bed and am certainly in no condition to carry the
proof through. Have at it ...
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | ITAGAKI Takahiro | 2007-04-11 07:09:58 | Re: Question about SHM_QUEUE |
Previous Message | Marko Kreen | 2007-04-11 06:46:51 | Re: [DOCS] uuid type not documented |
From | Date | Subject | |
---|---|---|---|
Next Message | Pavel Stehule | 2007-04-11 07:16:16 | Re: Table function support |
Previous Message | Pavan Deolasee | 2007-04-11 06:29:20 | Re: [HACKERS] CIC and deadlocks |