Re: Vacuum/visibility is busted

Поиск
Список
Период
Сортировка
От Pavan Deolasee
Тема Re: Vacuum/visibility is busted
Дата
Msg-id CABOikdPaSrdG9S9zJD-U+wRxHgJ1hgO-m=YAD4sJPwknLxjW9Q@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Vacuum/visibility is busted  (Pavan Deolasee <pavan.deolasee@gmail.com>)
Ответы Re: Vacuum/visibility is busted  (Alvaro Herrera <alvherre@2ndquadrant.com>)
Re: Vacuum/visibility is busted  (Jeff Janes <jeff.janes@gmail.com>)
Список pgsql-hackers
On Thu, Feb 7, 2013 at 2:25 PM, Pavan Deolasee <pavan.deolasee@gmail.com> wrote:

>
> Will look more into it, but thought this might be useful for others to
> spot the problem.
>

And here is some more forensic info about one of the pages having
duplicate tuples.

jjanes=# select *, xmin, xmax, ctid from foo where index IN (select
index from foo group by index having count(*) > 1 ORDER by index)
ORDER by index LIMIT 3;index | count |    xmin    | xmax |   ctid
-------+-------+------------+------+-----------  219 |   353 | 2100345903 |    0 | (150,98)  219 |   354 | 2100346051 |
  0 | (150,101)  219 |   464 | 2101601086 |    0 | (150,126)
 
(3 rows)

jjanes=# select * from page_header(get_raw_page('foo',150));    lsn     | tli | flags | lower | upper | special |
pagesize|
 
version | prune_xid
-------------+-----+-------+-------+-------+---------+----------+---------+-----------4C/52081968 |   1 |     5 |  1016
| 6304 |    8192 |     8192 |4 |         0
 
(1 row)

jjanes=# select * from heap_page_items(get_raw_page('foo',150)) WHERE
lp IN (98, 101, 126);lp  | lp_off | lp_flags | lp_len |   t_xmin   | t_xmax | t_field3 |
t_ctid   | t_infomask2 | t_infomask | t_hoff | t_bits | t_oid

-----+--------+----------+--------+------------+--------+----------+-----------+-------------+------------+--------+--------+-------
98|   7968 |        1 |     32 | 2100345903 |      0 |        0 |
 
(150,101) |       32770 |      10496 |     24 |        |101 |   7904 |        1 |     32 | 2100346051 |      0 |
0|
 
(150,101) |       32770 |      10496 |     24 |        |126 |   7040 |        1 |     32 | 2101601086 |      0 |
0|
 
(150,126) |       32770 |      10496 |     24 |        |
(3 rows)

So every duplicate tuple has the same flags set:

HEAP_XMAX_INVALID
HEAP_XMIN_COMMITED
HEAP_UPDATED
HEAP_ONLY_TUPLE

The first two duplicates are chained by the ctid chain, but the last
one looks independent. More later.

Thanks,
Pavan
-- 
Pavan Deolasee
http://www.linkedin.com/in/pavandeolasee



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

Предыдущее
От: Heikki Linnakangas
Дата:
Сообщение: Re: [COMMITTERS] pgsql: Fast promote mode skips checkpoint at end of recovery.
Следующее
От: Simon Riggs
Дата:
Сообщение: Re: [COMMITTERS] pgsql: Fast promote mode skips checkpoint at end of recovery.