Re: Minimal logical decoding on standbys

From: tushar <tushar(dot)ahuja(at)enterprisedb(dot)com>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: Petr Jelinek <petr(dot)jelinek(at)2ndquadrant(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, Craig Ringer <craig(at)2ndquadrant(dot)com>, Petr Jelinek <petr(at)2ndquadrant(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Minimal logical decoding on standbys
Date: 2019-04-10 06:41:21
Message-ID: 8af22fc0-d08c-f3fa-e7ec-dfb153b3d7b4@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


On 03/13/2019 08:40 PM, tushar wrote:
> Hi ,
>
> I am getting a server crash on standby while executing
> pg_logical_slot_get_changes function   , please refer this scenario
>
> Master cluster( ./initdb -D master)
> set wal_level='hot_standby in master/postgresql.conf file
> start the server , connect to  psql terminal and create a physical
> replication slot ( SELECT * from
> pg_create_physical_replication_slot('p1');)
>
> perform pg_basebackup using --slot 'p1'  (./pg_basebackup -D slave/ -R
> --slot p1 -v))
> set wal_level='logical' , hot_standby_feedback=on,
> primary_slot_name='p1' in slave/postgresql.conf file
> start the server , connect to psql terminal and create a logical
> replication slot (  SELECT * from
> pg_create_logical_replication_slot('t','test_decoding');)
>
> run pgbench ( ./pgbench -i -s 10 postgres) on master and select
> pg_logical_slot_get_changes on Slave database
>
> postgres=# select * from pg_logical_slot_get_changes('t',null,null);
> 2019-03-13 20:34:50.274 IST [26817] LOG:  starting logical decoding
> for slot "t"
> 2019-03-13 20:34:50.274 IST [26817] DETAIL:  Streaming transactions
> committing after 0/6C000060, reading WAL from 0/6C000028.
> 2019-03-13 20:34:50.274 IST [26817] STATEMENT:  select * from
> pg_logical_slot_get_changes('t',null,null);
> 2019-03-13 20:34:50.275 IST [26817] LOG:  logical decoding found
> consistent point at 0/6C000028
> 2019-03-13 20:34:50.275 IST [26817] DETAIL:  There are no running
> transactions.
> 2019-03-13 20:34:50.275 IST [26817] STATEMENT:  select * from
> pg_logical_slot_get_changes('t',null,null);
> TRAP: FailedAssertion("!(data == tupledata + tuplelen)", File:
> "decode.c", Line: 977)
> server closed the connection unexpectedly
>     This probably means the server terminated abnormally
>     before or while processing the request.
> The connection to the server was lost. Attempting reset: 2019-03-13
> 20:34:50.276 IST [26809] LOG:  server process (PID 26817) was
> terminated by signal 6: Aborted
>
Andres - Do you think - this is an issue which needs to  be fixed ?

--
regards,tushar
EnterpriseDB https://www.enterprisedb.com/
The Enterprise PostgreSQL Company

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Michael Paquier 2019-04-10 06:42:20 Re: hyrax vs. RelationBuildPartitionDesc
Previous Message Amit Kapila 2019-04-10 06:29:03 Re: Zedstore - compressed in-core columnar storage