Honored MPs! I've taken over maintenance of AxKit::XSP::BasicSession from Mike Nachbaur, but Mike still contributes and we've been discussing some problems with it over the past few days.
A:X:BS lets Apache::Session do most of its hard work. However, it seems like no users have ever gotten it to work with a PostgreSQL backend. I'm trying to address that now. On the surface, the symptom is that for certain pages, it will just sit and spin at the $self->{materialize_sth}->execute; call in Apache::Session::Store::Postgres for exactly two minutes, then time out, and that makes the rest of the app confused, so most things go boom... We've been banging our heads against this problem in #axkit-dahut for a couple of days now, and I created the following Pg log: http://paste.husk.org/3133 Then, I realized at had to read up on what "FOR UPDATE" means. It means that it'll lock and wait around for a subsequent UPDATE. So, I'm guessing that what happens is that it sits and waits for a UPDATE that never happens. I tried to remove the FOR UPDATE from the SQL statement, and it solves the immediate problem. But FOR UPDATE is something that is used for transactional integrity, and so, it is probably a Good Thing and there is probably a good reason why it is there... So, I'm turning to you with the hope that you can clue me in to how I can live with it. :-) A:X:BS is now on CPAN, the latest version is 0.23_3 and previous versions has had some problems, so this is the one I'm working on. I realized the Pg store would need different defaults than the others, and I have also been experimenting with the Commit stuff, in case that meant something. I've been testing with stuff like # When using Postgres, a different default is needed. if ($flex_options{'Store'} eq 'Postgres') { $flex_options{'Commit'} = 1; $flex_options{'AutoCommit'} = 1; $flex_options{'Serialize'} = $r->dir_config( $prefix . 'Serialize' ) || 'Base64' } with no effect.... I guess it could be that the use we make of Apache::Session is flawed, that we should call an update somewhere, but it works (apparently) with the other data stores. It feels like there is something in the direction of transactions but I can't figure out what... Or, if it could be somebody else's bug, relieve me of the feeling of being stupid... :-) Clues are most welcome! Cheers, Kjetil -- Kjetil Kjernsmo Astrophysicist/IT Consultant/Skeptic/Ski-orienteer/Orienteer/Mountaineer [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] Homepage: http://www.kjetil.kjernsmo.net/ OpenPGP KeyID: 6A6A0BBC