Re: smgrsettransient mechanism is full of bugs
От | Alvaro Herrera |
---|---|
Тема | Re: smgrsettransient mechanism is full of bugs |
Дата | |
Msg-id | 20121016193941.GA10361@alvh.no-ip.org обсуждение исходный текст |
Ответ на | smgrsettransient mechanism is full of bugs (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-hackers |
Tom Lane wrote: > After further review, I have become convinced that in fact it's > completely broken and needs to be redone from scratch. The temp-file > marking at the fd.c level can easily get out of sync with the marking > at the smgr level, and that marking isn't too consistent with reality > either, which means we have all of the following problems: Oops. Sorry about this. Fortunately, as far as I can see, it only results in excessive resource consumption, not data corruption or loss. > I believe that we probably ought to revert this mechanism entirely, and > build a new implementation based on these concepts: > > * An SMgrRelation is transient if and only if it doesn't have an > "owning" relcache entry. Keep a list of all such SmgrRelations, and > close them all at transaction end. (Obviously, an SMgrRelation gets > removed from the list if it acquires an owner mid-transaction.) > > * There's no such concept as FD_XACT_TRANSIENT at the fd.c level. > Rather, we close and delete the VFD entry when told to by SmgrRelation > closure. Makes sense. It does seem simpler than the original approach. -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services
В списке pgsql-hackers по дате отправления: