memory leaks? using savepoint

Поиск
Список
Период
Сортировка
От Tatsuhito Kasahara
Тема memory leaks? using savepoint
Дата
Msg-id 4D09BB92.6080309@oss.ntt.co.jp
обсуждение исходный текст
Ответы Re: memory leaks? using savepoint  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-bugs
Hi!

When I tested simple query as following, backend process used much memory
and not freed until the backend was finished.
# This is reproduced on PostgreSQL8.3 (PostgreSQL8.3.6 - PostgreSQL8.3.12)

-------
 BEGIN;
 SAVEPOINT sp0;
 INSERT INTO tbl VALUES (1);
 RELEASE sp0;
 SAVEPOINT sp1;
 INSERT INTO tbl VALUES (1);
 RELEASE sp1;
 (repeats 10k)
 ROLLBACK;
 SELECT pg_sleep(10000);
-------

I think this caused by following fix.
http://archives.postgresql.org/pgsql-committers/2008-12/msg00100.php
http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/tcop/postgres.c?r1=1.560&r2=1.561)

Should "CopySnapshot()" be performed in MessageContext ?
Attached simple pathch to solve it...

Best regards,
--
NTT OSS Center
Tatsuhito Kasahara
kasahara.tatsuhito@oss.ntt.co.jp

diff -rcN postgresql-8.3.12/src/backend/tcop/postgres.c postgresql-8.3.12_dev/src/backend/tcop/postgres.c
*** postgresql-8.3.12/src/backend/tcop/postgres.c    2010-10-01 22:36:12.000000000 +0900
--- postgresql-8.3.12_dev/src/backend/tcop/postgres.c    2010-12-16 15:46:43.000000000 +0900
***************
*** 914,919 ****
--- 914,921 ----
          /*
           * Set up a snapshot if parse analysis/planning will need one.
           */
+         oldcontext = MemoryContextSwitchTo(MessageContext);
+
          if (analyze_requires_snapshot(parsetree))
          {
              mySnapshot = CopySnapshot(GetTransactionSnapshot());
***************
*** 926,932 ****
           * Switch to appropriate context for constructing querytrees (again,
           * these must outlive the execution context).
           */
-         oldcontext = MemoryContextSwitchTo(MessageContext);

          querytree_list = pg_analyze_and_rewrite(parsetree, query_string,
                                                  NULL, 0);
--- 928,933 ----

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

Предыдущее
От: "Ng, Stan"
Дата:
Сообщение: Re: index corruption on composite primary key indexes
Следующее
От: Alvaro Herrera
Дата:
Сообщение: Re: index corruption on composite primary key indexes