Alvaro Herrera <[EMAIL PROTECTED]> writes:
> I think I understand your approach, but I wonder why Matteo didn't find
> an improvement with your patch.  Maybe there's a bug on it?

Yeah, looking at it this morning, I got the retry condition wrong.
It might be fixable but I'm less enthused about it than I was last
night.  Your idea of handling the wraparound ambiguity by ignoring
InvalidTransactionId isn't bad --- I'll take a look at that.

> Were you able to create a test case?  I tried several things, including
> stopping a backend in the middle of creating a MultiXactId, but no luck
> yet.

I've had some success using Tatsuo's new scriptable pgbench:

create table t1(f1 int);
insert into t1 select * from generate_series(1,1000);

create file tscript containing

\setrandom n 1 1000
select * from t1 limit :n for share;

and do, say,

pgbench -c 10 -t 10000 -n -f tscript regression

Using CVS tip, this generates failures within a few seconds for me.
If it doesn't for you, try altering the number of processes (-c) and
the setrandom bounds.

                        regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
       subscribe-nomail command to [EMAIL PROTECTED] so that your
       message can get through to the mailing list cleanly

Reply via email to