Thread: Testing of MVCC
I want to write some regression tests that confirm the behavior of multiple connections simultaneously going at the same tables/rows. Is there something like this already, e.g. in src/test/regress? In particular I want confirm the robustness of some PL/pgSQL functions in a multi-user environment. I could probably just bang away from multiple interactive psql sessions, but I like to script the whole thing, and I'd like it all to fit neatly into the current "make check" regression tests.
Matt Miller <mattm@epx.com> writes: > I want to write some regression tests that confirm the behavior of > multiple connections simultaneously going at the same tables/rows. Is > there something like this already, e.g. in src/test/regress? No. You should consult the pghackers archives --- there have been discussions in the past about creating a test harness that would support useful concurrent testing. No one's gotten around to it yet, but surely we need one. regards, tom lane
> Matt Miller <mattm@epx.com> writes: > > I want to write some regression tests that confirm the behavior of > > multiple connections simultaneously going at the same tables/rows. Is > > there something like this already, e.g. in src/test/regress? > > No. You should consult the pghackers archives --- there have been > discussions in the past about creating a test harness that would support > useful concurrent testing. No one's gotten around to it yet, but surely > we need one. There's something *somewhat* related here: http://savannah.gnu.org/cgi-bin/viewcvs/gnumed/gnumed/gnumed/client/testing/concurrency-torture-test.py Karsten -- GPG key ID E4071346 @ wwwkeys.pgp.net E167 67FD A291 2BEA 73BD 4537 78B9 A9F9 E407 1346
Firebird has MVCC also (they call it multi-generational record architecture --- MGRA), and may have at least a good test plan, though it may not cover effects of rules, triggers, functions, and constraints. Those are the killer test cases. I don't have time to look. http://firebird.sourceforge.net/ Rick pgsql-general-owner@postgresql.org wrote on 08/09/2005 02:19:56 PM: > > Matt Miller <mattm@epx.com> writes: > > > I want to write some regression tests that confirm the behavior of > > > multiple connections simultaneously going at the same tables/rows. Is > > > there something like this already, e.g. in src/test/regress? > > > > No. You should consult the pghackers archives --- there have been > > discussions in the past about creating a test harness that would support > > useful concurrent testing. No one's gotten around to it yet, but surely > > we need one. > There's something *somewhat* related here: > > http://savannah.gnu.org/cgi- > bin/viewcvs/gnumed/gnumed/gnumed/client/testing/concurrency-torture-test.py > > Karsten > -- > GPG key ID E4071346 @ wwwkeys.pgp.net > E167 67FD A291 2BEA 73BD 4537 78B9 A9F9 E407 1346 > > ---------------------------(end of broadcast)--------------------------- > TIP 4: Have you searched our list archives? > > http://archives.postgresql.org