From: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Race-like failure in recovery/t/009_twophase.pl |
Date: | 2017-07-02 17:32:43 |
Message-ID: | 20170702173243.n3egcibv4svzthak@alvherre.pgsql |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Tom Lane wrote:
> I'd kind of like to fix it now, so I can reason in a less confused way
> about the actual problem.
OK, no objections here.
> Last night I didn't have a clear idea of how
> to make it better, but what I'm thinking this morning is:
>
> * Naming the underlying server objects "master" and "slave" is just
> wrong, because the script makes them swap those roles repeatedly.
> Better to choose neutral names, like "alice" and "bob" or "london"
> and "paris".
Check.
> * We could simply make the test script refer directly to the appropriate
> server at each step, ie s/node_master/node_london/ in relevant parts of
> the script and s/node_slave/node_london/ elsewhere. Maybe that's the
> best way, but there is some value in identifying commands as to whether
> we're issuing them to the current master or the current slave. Plan B
> might be to do
> ($cur_master, $cur_slave) = ($node_paris, $node_london);
> at the swap points and use those names where it seems clearer.
Hmm, yeah, using role-based aliases seems like a good idea too.
> * Some effort should be put into emitting text to the log showing
> what's going on, eg print("Now london is master."); as appropriate.
Check. Not "print" though; I think using note(" .. ") (from Test::More)
is more appropriate.
> * Another reason why I had the feeling of being lost in a maze of
> twisty little passages all alike was the relentless sameness of the
> commands being sent to the servers. There is no good reason for the
> prepared transactions to be all alike; they should be all different
> so that you can match up postmaster log entries to points in the
> script.
Check.
--
Álvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2017-07-02 17:33:39 | WIP patch for avoiding duplicate initdb runs during "make check" |
Previous Message | Dean Rasheed | 2017-07-02 17:15:15 | Re: Multi column range partition table |