On 2018-08-11 01:55:43 +0200, Tomas Vondra wrote:
> On 08/10/2018 11:59 PM, Tomas Vondra wrote:
> > ...
> > I suspect there's some other ingredient, e.g. some manipulation with the
> > subscription. Or maybe it's not needed at all and I'm just imagining things.
> Indeed, the manipulation with the subscription seems to be the key here.
> I pretty reliably get the 'could not read block' error when doing this:
> 1) start the insert pgbench
> pgbench -n -c 4 -T 300 -p 5433 -f insert.sql test
> 2) start the vacuum full pgbench
> pgbench -n -f vacuum.sql -T 300 -p 5433 test
Just to be clear: 5433 is the subscriber, right? I tried it with both,
but it's not clear what you meant with either the previous or the this
> 3) try to create a subscription, but with small amount of conflicting
> data so that the sync fails like this:
> LOG: logical replication table synchronization worker for
> subscription "s", table "t" has started
> ERROR: duplicate key value violates unique constraint "t_pkey"
> DETAIL: Key (a)=(5997542) already exists.
> CONTEXT: COPY t, line 1
> LOG: worker process: logical replication worker for subscription
> 16458 sync 16397 (PID 31983) exited with exit code 1
> 4) At this point the insert pgbench (at least some clients) should have
> failed with the error. If not, rinse and repeat.
I've run this numerous times now, and I haven't triggered it yet :/