Re: [HACKERS] Broken hint bits (freeze) - Mailing list pgsql-hackers

From Dmitriy Sarafannikov
Subject Re: [HACKERS] Broken hint bits (freeze)
Date
Msg-id 72B8C80D-6F47-40F7-AECD-34008F98E55E@yandex.ru
Whole thread Raw
In response to [HACKERS] Broken hint bits (freeze)  (Dmitriy Sarafannikov <dsarafannikov@yandex.ru>)
Responses Re: [HACKERS] Broken hint bits (freeze)  (Robert Haas <robertmhaas@gmail.com>)
List pgsql-hackers
We found that this problem appears also on shards with enabled checksums.
This shard has 1st timeline, which means there was no switchover after upgrade to 9.6.

xdb11f(master)=# select pg_current_xlog_location(),
pg_xlogfile_name(pg_current_xlog_location());pg_current_xlog_location|     pg_xlogfile_name 
--------------------------+--------------------------30BA/5966AD38            | 00000001000030BA00000059
(1 row)

xdb11f(master)=# select * from page_header(get_raw_page(‘mytable', 1787));     lsn      | checksum | flags | lower |
upper| special | pagesize | version | prune_xid 
---------------+----------+-------+-------+-------+---------+----------+---------+-----------1F43/8C432C60 |    -3337 |
   5 |   256 |   304 |    8192 |     8192 |       4 |         0 
(1 row)

xdb11h(replica)=# select * from page_header(get_raw_page(‘mytable', 1787));     lsn      | checksum | flags | lower |
upper| special | pagesize | version | prune_xid 
---------------+----------+-------+-------+-------+---------+----------+---------+-----------1B28/45819C28 |   -17617 |
   5 |   256 |   304 |    8192 |     8192 |       4 |         0 
(1 row)

xdb11e(replica)=# select * from page_header(get_raw_page('mytable', 1787));     lsn      | checksum | flags | lower |
upper| special | pagesize | version | prune_xid 
---------------+----------+-------+-------+-------+---------+----------+---------+-----------1B28/45819C28 |   -17617 |
   5 |   256 |   304 |    8192 |     8192 |       4 |         0 
(1 row)

Master has newer page version and freeze bits.

xdb11f(master)=# select t_xmin, t_infomask::bit(32) & X'0300'::int::bit(32) from
heap_page_items(get_raw_page(‘mytable',1787)) where lp = 42; t_xmin   |             ?column? 
-----------+----------------------------------516651778 | 00000000000000000000001100000000
(1 row)

xdb11h(replica)=# select t_xmin, t_infomask::bit(32) & X'0300'::int::bit(32) from
heap_page_items(get_raw_page('mytable',1787)) where lp = 42; t_xmin   |             ?column? 
-----------+----------------------------------516651778 | 00000000000000000000000000000000
(1 row)

xdb11e(replica)=# select t_xmin, t_infomask::bit(32) & X'0300'::int::bit(32) from
heap_page_items(get_raw_page('mytable',1787)) where lp = 42; t_xmin   |             ?column? 
-----------+----------------------------------516651778 | 00000000000000000000000000000000
(1 row)

It seems like replica did not replayed corresponding WAL records.
Any thoughts?

Regards,
Dmitriy Sarafannikov


pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: [HACKERS] [BUGS] Concurrent ALTER SEQUENCE RESTART Regression
Next
From: Robert Haas
Date:
Subject: Re: [HACKERS] Proposal : For Auto-Prewarm.