Обсуждение: Logical decoding (contrib/test_decoding) walsender broken in 9.5 master?
Hi all
--
It appears that logical decoding may be broken in 9.5 at the moment.
With HEAD at f6caf5a:
./configure --enable-debug --enable-cassert --prefix=/home/craig/pg/95 CFLAGS="-Og -ggdb -fno-omit-frame-pointer"
make clean install
make -C contrib/test_decoding clean install
PGPORT=5142 PATH=/home/craig/pg/95/bin:$PATH initdb -D ~/tmp/slottest95
PGPORT=5142 PATH=/home/craig/pg/95/bin:$PATH postgres -D ~/tmp/slottest95
and in another session:
psql -p 5142 -c 'SELECT pg_create_logical_replication_slot('test', 'test_decoding');'
in yet another:
PGPORT=5142 PATH=$HOME/pg/95/bin:$PATH pg_recvlogical -d postgres -S test --start -f -
and back in the psql session do some work:
psql -p 5142 -c 'CREATE TABLE x AS SELECT xx FROM generate_series(1,10000) xx;'
This works fine in REL9_4_STABLE at a44e54c.
Decoding over the SQL protocol works fine, and "make check" in contrib/test_decoding passes without errors. This issue only arises in decoding in a walsender.
I haven't bisected it back to a specific change yet, I just wanted to give early heads-up. Also, our testing clearly needs to cover logical decoding over walsenders.
See attachment for the bt.
Craig Ringer http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services
PostgreSQL Development, 24x7 Support, Training & Services
Вложения
Re: Logical decoding (contrib/test_decoding) walsender broken in 9.5 master?
От
Michael Paquier
Дата:
On Thu, Apr 2, 2015 at 3:48 PM, Craig Ringer <craig@2ndquadrant.com> wrote: > Also, our testing clearly needs to cover logical decoding over walsenders. Noted. -- Michael
I started bisecting from e6df2e1 (stamp 9.4beta1, good) to 095d401 (bad). The problem revision appears to be 9402869:
commit 9402869
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
Date: Sat Jan 17 01:14:32 2015 +0200
Advance backend's advertised xmin more aggressively.
which is somewhat logical given the crash location and symptoms.
Bisection procedure used:
For each step:
then manually:
./configure --enable-debug --enable-cassert --prefix=/home/craig/pg/95 CFLAGS="-Og -ggdb -fno-omit-frame-pointer" && make clean install && make -C contrib/test_decoding/ clean install && rm -rf ~/tmp/slottest95 && PATH=$HOME/pg/95/bin:$PATH initdb -D ~/tmp/slottest95 && cp ~/tmp/{postgresql.conf,pg_hba.conf} ~/tmp/slottest95 && PATH=$HOME/pg/95/bin:$PATH PGPORT=5123 postgres -D ~/tmp/slottest95/
psql -p 5123 -c 'SELECT pg_create_logical_replication_slot('test', 'test_decoding');'
PGPORT=5123 PATH=$HOME/pg/95/bin:$PATH pg_recvlogical -d postgres -S test --start -f -
psql -p 5123 -c 'CREATE TABLE x AS SELECT xx FROM generate_series(1,10000) xx;'
I have to go out now; I'll follow up further but wanted to update promptly.
Re: Logical decoding (contrib/test_decoding) walsender broken in 9.5 master?
От
Michael Paquier
Дата:
On Thu, Apr 2, 2015 at 5:35 PM, Craig Ringer <craig@2ndquadrant.com> wrote: > I started bisecting from e6df2e1 (stamp 9.4beta1, good) to 095d401 (bad). > The problem revision appears to be 9402869: > > commit 9402869 > Author: Heikki Linnakangas <heikki.linnakangas@iki.fi> > Date: Sat Jan 17 01:14:32 2015 +0200 > > Advance backend's advertised xmin more aggressively. This rings a bell, I reported a similar issue some weeks back: http://www.postgresql.org/message-id/CAB7nPqQSdx7coHk0D6G=mkJntGYjXPDw+PWisKKSsAeZFTskvg@mail.gmail.com And there is a patch. -- Michael