Re: [HACKERS] logical replication - still unstable after all thesemonths - Mailing list pgsql-hackers

From Mark Kirkwood
Subject Re: [HACKERS] logical replication - still unstable after all thesemonths
Date
Msg-id 3ff4cf02-18dd-a292-3037-a720c7f4e994@catalyst.net.nz
Whole thread Raw
In response to Re: [HACKERS] logical replication - still unstable after all these months  (Jeff Janes <jeff.janes@gmail.com>)
List pgsql-hackers

On 29/05/17 13:33, Jeff Janes wrote:
> On Sun, May 28, 2017 at 3:17 PM, Mark Kirkwood 
> <mark.kirkwood@catalyst.net.nz <mailto:mark.kirkwood@catalyst.net.nz>> 
> wrote:
>
>     On 28/05/17 19:01, Mark Kirkwood wrote:
>
>
>         So running in cloud land now...so for no errors - will update.
>
>
>
>
>     The framework ran 600 tests last night, and I see 3 'NOK' results,
>     i.e 3 failed test runs (all scale 25 and 8 pgbench clients). Given
>     the way the test decides on failure (gets tired of waiting for the
>     table md5's to match) - it begs the question 'What if it had
>     waited a bit longer'? However from what I can see in all cases:
>
>     - the rowcounts were the same in master and replica
>     - the md5 of pgbench_accounts was different
>
>
> All four tables should be wrong if there is still a transaction it is 
> waiting for, as all the changes happen in a single transaction.
>

Yeah, my thought exactly.

> I also got a failure, after 87 iterations of a similar test case.  It 
> waited for hours, as mine requires manual intervention to stop 
> waiting.  On the subscriber, one account still had a zero balance, 
> while the history table on the subscriber agreed with both history and 
> accounts on the publisher and the account should not have been zero, 
> so definitely a transaction atomicity got busted.
>

Interesting, great that we are seeing the same thing.

> I altered the script to also save the tellers and branches tables and 
> repeated the runs, but so far it hasn't failed again in over 800 
> iterations using the altered script.
>
>
>     ...so does seem possible that there is some bug being tickled
>     here. Unfortunately the test framework blasts away the failed
>     tables and subscription and continues on...I'm going to amend it
>     to stop on failure so I can have a closer look at what happened.
>
>
> What would you want to look at?  Would saving the WAL from the master 
> be helpful?
>
>

Good question - I initially wanted to see if anything changed if I 
waited longer (which you have already figured out) and what was actually 
wrong with the accounts record (which you have gotten to as well)! Nice. 
After that, I'd thought of doing another transaction on an accounts 
record that lives in the same page as the 'gammy' one on the master - 
generally poke about and see what is happening :-)

regards

Mark



pgsql-hackers by date:

Previous
From: Brendan Jurd
Date:
Subject: [HACKERS] psql: Activate pager only for height, not width
Next
From: Amit Khandekar
Date:
Subject: Re: [HACKERS] UPDATE of partition key