[Catalyst] Cat + DBIC + DBD-Pg + mpm_worker

Toby Corkindale tjc at wintrmute.net
Tue Aug 12 05:03:56 BST 2008

I know the Cat cookbook suggests one should use mod_perl only with the
preforking MPM.. but I wanted to try with the worker (ie. threaded) MPM anyway.

DBD-Pg had some thread-safety work done years ago, and I meant to be fine..
However I'm seeing errors like this one:
  Couldn't render template "undef error - DBD::Pg::db STORE failed:
  handle 2 is owned by thread 84e5bf0 not current thread 8fe48f8 (handles can't
  be shared between threads and your driver may need a CLONE method added) at
  /usr/lib/perl5/vendor_perl/5.8.8/DBIx/Class/Storage/DBI.pm line 723.

I've checked, and I am running a recent version of DBD-Pg, that does indeed
have the required CLONE function. (Ver 2.8.6)

Are there any known issues with Cat+DBIC+DBD-Pg here? Or maybe I just have
screwed something else up..


PS. I've used DBI, Pg and mpm_worker with modperl some years ago successfully,
I'm sure.. but in more recent years I've used lighttpd+fastcgi app servers
instead.  However I figure it's worth checking back to see how things are going
with threaded apache again..

Turning and turning in the widening gyre/The falcon cannot hear the falconer;
Things fall apart, the centre cannot hold/Mere anarchy is loosed upon the world
(gpg --recv-key B1CCF88E)

More information about the Catalyst mailing list