Hello Tom,
There's at least one bug in this patch.
Indeed.
It's caused pgbench to go into an infinite loop during the TAP tests on
my buildfarm machine longfin.
buildfarm 719:14.18 /Users/buildfarm/bf-data/HEAD/inst/bin/pgbench --no-vacuum
--client=5 --protocol=prepared --transactions=25 --file
/Users/buildfarm/bf-data/HEAD/pgsql.build/src/bin/pgbench/tmp_check/data_main_JNh2/pgbench_script
Some other buildfarm critters seem to have got through that successfully,
so it's probably a portability issue not a hard failure.
Hmmm, not easy to identify, especially as I do not have a clang on
MacOS...
Could you catch the process to identify the infinite loop?
What are the states of the five clients?
I think that it may be stuck in doCustom or on threadRun.
I'm not sure how it could be stuck in doCustom. Re-reading the code, I
think that the "end_tx_processed" stuff could be removed in favor of a
systematic return at the end of the transaction, but that does not explain
anything wrt to an infinite loop: after 25 transactions it should have got
to FINISHED and have exited.
Maybe it can be stuck in threadRun in the "while (remains>0)" loop, which
suggests that a remains-- has been forgotten... but I do not see how this
is possible to forget a client by reading the code.
So although I hastily declared that bugs would be easier to detect,
without any additional clue it is hard to help.
--
Fabien.
--
Sent via pgsql-committers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers