[Catalyst] Duplicate entries with C::P::Session::Store::DBIC and MySQL

Tobias Kremer list at funkreich.de
Tue Jul 29 13:00:46 BST 2008


Quoting Nigel Metheringham <nigel.metheringham at dev.intechnology.co.uk>:
> On 29 Jul 2008, at 12:30, Tobias Kremer wrote:
> > The short time window between the find() and create() calls of the
> > find_or_create() method indeed is the problem. It sounds like this
> > window
> > should be too small to ever happen but in reality it happens very
> > often in our
> > (and other's) applications. I can force the problem by hammering
> > reload in my
> > browser.

> Run the find_or_create within a transaction.  You could even extend
> find_or_create to package it within a transaction if you wanted.

Yes, that'd be the optimal solution - unfortunately not every database in the
world has transactions. So, this doesn't help if you're using MySQL and a
MyISAM session table which really is not an exotic combination IMHO.

--Tobias



More information about the Catalyst mailing list