Re: advancing snapshot's xmin
От | Tom Lane |
---|---|
Тема | Re: advancing snapshot's xmin |
Дата | |
Msg-id | 9808.1206495980@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: advancing snapshot's xmin ("Heikki Linnakangas" <heikki@enterprisedb.com>) |
Ответы |
Re: advancing snapshot's xmin
Re: advancing snapshot's xmin |
Список | pgsql-hackers |
"Heikki Linnakangas" <heikki@enterprisedb.com> writes: > Neil Conway wrote: >> If we're just updating MyProc->xmin, we only need to acquire >> ProcArrayLock in shared mode, right? > In fact, do you need a lock at all? I think you probably do. GetSnapshotData needs to be confident that the global xmin it computes is <= the xmin that any other backend might be about to store into its MyProc->xmin; how can you ensure that if there's no locking happening? Now the way I'd been envisioning this would work is that whenever the number of active snapshots goes to zero, we clear MyProc->xmin, and that probably could be done without a lock. Then the next time we do GetSnapshotData, it would compute and store a new MyProc->xmin (this would be the same activity that we currently think of as "setting the serializable snapshot"). So you don't need any more locking than already exists. regards, tom lane
В списке pgsql-hackers по дате отправления: