[Catalyst-dev] Re: [Catalyst] Race condition inCatalyst::Plugin::Session and Catalyst::Engine::Apache(possibly other engines too)

Sergio Salvi sergio.lists at salvi.ca
Fri Dec 12 21:37:56 GMT 2008


On Fri, Dec 12, 2008 at 10:06 AM, Matt Pitts <mpitts at a3its.com> wrote:
>> -----Original Message-----
>> From: Sergio Salvi [mailto:sergio.lists at salvi.ca]
>> Sent: Thursday, December 11, 2008 11:51 AM
>> To: Development of the elegant MVC web framework
>> Subject: Re: [Catalyst-dev] Re: [Catalyst] Race condition
>> inCatalyst::Plugin::Session and Catalyst::Engine::Apache(possibly
> other
>> engines too)
>>
>> On Wed, Dec 10, 2008 at 9:43 AM, Sergio Salvi <sergio.lists at salvi.ca>
>> wrote:
>> > On Thu, Dec 4, 2008 at 2:12 PM, Matt Pitts <mpitts at a3its.com> wrote:
>> >> I think this might be affecting my application as well -
>> HTTP::Prefork
>> >> *and* FastCGI instances using memcached for cache/session storage.
>> >>
>> >> I'm getting random "duplicate key" failures when trying to write
> the
>> >> sessionid to the Cart table and other strange session behavior. It
>> just
>> >> started happening a few weeks ago and I've done a lot of
>> troubleshooting
>> >> on it - thought it might be caused by this session save issue.
>> >>
>> >> Anybody know of the status of this?
>> >
>> > My apologies for the delay. I'll get my session patch committed
>> today,
>> > which will *not* fix the duplicate key issue -- that's another patch
>> > I'm working on which will store "flash" inside the session row.
>> >
>> > Sergio
>> >
>>
>> Committed:
>> http://dev.catalyst.perl.org/svnweb/Catalyst/browse/branches/Catalyst-
>> Plugin-Session/
>>
>> I'll soon merge the two patches into a single patch.
>>
>> I've been successfully using the finalize_race_condition patch in
>> production for about 2 months. The flash inside session patch is brand
>> new, but all tests passed :)
>>
>> Please try it out and let me know how it works for you.
>>
>
> Thanks for getting this posted Sergio. Unfortunately, I already had your
> previous patch applied against C::P::Session 0.19 which didn't help my
> problem, but it didn't make things worse either. I'm going ahead and
> applying your branch version (which appears to be against C::P::S 0.20),
> so we'll see if it makes any difference. Sorry I can't provide much more
> feedback right now.
>

No worries. At least we know your app is also fine with the finalize() patch.

I've merged the two patches so now you shouldn't see the duplicate key
issue anymore:

http://dev.catalyst.perl.org/svnweb/Catalyst/browse/branches/Catalyst-Plugin-Session/both/

Please note I haven't run this one in live production yet. I'll
probably get it in production at $work only in January because of
upcoming code freezes.

Sergio



More information about the Catalyst-dev mailing list