From: | tgl(at)postgresql(dot)org (Tom Lane) |
---|---|
To: | pgsql-committers(at)postgresql(dot)org |
Subject: | pgsql: Revise large-object access routines to avoid running with |
Date: | 2006-04-26 00:34:57 |
Message-ID: | 20060426003457.B907711F6089@postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Log Message:
-----------
Revise large-object access routines to avoid running with CurrentMemoryContext
set to the large object context ("fscxt"), as this is inevitably a source of
transaction-duration memory leaks. Not sure why we'd not noticed it before;
maybe people weren't touching a whole lot of LOs in the same transaction
before the 8.1 pg_dump changes. Per report from Wayne Conrad.
Backpatched as far as 8.1, but the problem doubtless goes all the way back.
I'm disinclined to spend the time to try to verify that the older branches
would still work if patched, seeing that this code was significantly modified
for 8.0 and again for 8.1, and that we don't have any trouble reports before
8.1. (Maybe the leaks were smaller before?)
Modified Files:
--------------
pgsql/src/backend/libpq:
be-fsstubs.c (r1.81 -> r1.82)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/libpq/be-fsstubs.c.diff?r1=1.81&r2=1.82)
pgsql/src/backend/storage/large_object:
inv_api.c (r1.115 -> r1.116)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/storage/large_object/inv_api.c.diff?r1=1.115&r2=1.116)
pgsql/src/include/storage:
large_object.h (r1.33 -> r1.34)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/include/storage/large_object.h.diff?r1=1.33&r2=1.34)
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2006-04-26 00:35:39 | pgsql: Revise large-object access routines to avoid running with |
Previous Message | Tom Lane | 2006-04-25 22:46:06 | pgsql: Arrange to cache btree metapage data in the relcache entry for |