Re: Snapshot warning

Поиск
Список
Период
Сортировка
От Alvaro Herrera
Тема Re: Snapshot warning
Дата
Msg-id 20081125165038.GK4875@alvh.no-ip.org
обсуждение исходный текст
Ответ на Re: Snapshot warning  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: Snapshot warning  (Alvaro Herrera <alvherre@commandprompt.com>)
Re: Snapshot warning  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
Tom Lane escribió:
> Alvaro Herrera <alvherre@commandprompt.com> writes:
> > Tom Lane escribió:
> >> I think the fundamental bug here is that you tried to skip using the
> >> ResourceOwner mechanism for snapshot references.  That's basically
> >> not gonna work.
> 
> > Right :-(  I'll see how to go about this.
> 
> It strikes me that you might be able to remove the registered-snapshot
> infrastructure in snapmgr.c, and end up with about the same amount of
> code overall, just with the responsibility in resowner.c.

Seems to work, and fixes Pavan test case as well.

$ runpg 00head showdiff  | diffstatbackend/utils/resowner/resowner.c |   99
++++++++++++++++++++backend/utils/time/snapmgr.c     |  180
++++++-------------!!!!!!!!!!!!!!!!!include/utils/resowner.h         |    8 +include/utils/snapmgr.h           |    3 4
fileschanged, 143 insertions(+), 59 deletions(-), 88 modifications(!)
 

I need to fix some comments before publishing the patch.

The only thing I'm now missing is SnapshotResetXmin().  It currently
looks like this:

static void
SnapshotResetXmin(void)
{if (RegisteredSnapshotList == NULL && ActiveSnapshot == NULL)    MyProc->xmin = InvalidTransactionId;
}

After the patch we don't have any way to detect whether resowner.c has
any snapshot still linked to.  I assume there's no objection to adding a
new entry point in resowner.c for this.


-- 
Alvaro Herrera                                http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.


В списке pgsql-hackers по дате отправления:

Предыдущее
От: "Kevin Grittner"
Дата:
Сообщение: Re: TODO item: adding VERBOSE option to CLUSTER [with patch]
Следующее
От: Alvaro Herrera
Дата:
Сообщение: Re: Snapshot warning