On Thu, Dec 20, 2012 at 5:42 AM, Wade Williams
<[email protected]>wrote:

> Hi all.
>
>  I've got a custom session middlware built that is simply extending the
> session base. The only interesting thing this backend is doing is using a
> different session table than django's stock one -- this is for integration
> with a pre-existing PHP site we are in the process of migrating away from.
>
>  Everything is working fine, except, I decided to try and truncate the
> sessions table in order to test something -- to my surprise, I couldn't
> load the site after that -- it just hung indefinitely.
>
>  If I delete my session cookie, the site loads up no problem.
>
>  I'm running django 1.5a1 as we aren't scheduled for a public launch on
> our django code until April. Is this a 1.5 bug? Or is there something
> messed up with my session middleware?
>
>  When I try and trace where the error could be coming from, I wind up
> opening up the django codebase -- I don't believe there are any bugs in my
> middleware (especially considering it works great until you do something
> like truncate the sessions table).
>
> PS I did try deleting the session table completely and re-running
> manage.py syncdb just incase there was some sort of relationship problem,
> but that doesn't appear to be the case.
>
> Any suggestions much apprecaited.
>

I can't say I've noticed any session table-related issues recently, and
although it's possible I might have missed something go past, I haven't
noticed any big changes to the session middleware either -- certainly
nothing that sends up a red flag for the behaviour you describe. So -
unfortunately, I can't really offer any advice here.

If I were to try and debug the problem, I'd start looking into the cause of
the lock. Where is the hang occurring? Is it a database-level lock trying
to retrieve a row (possibly locking on a transaction?) Is the session
backend looping on something? There's a loop to allocate a new session key
-- if this is going into an infinite spin, it would appear as a lock.
Alternatively, an operation in this loop might just be running *really*
slowly; *technically*, the lock would eventually be released, it's just
going to take a few minutes.

Beyond that, there's not much we can do without seeing code. You're
reporting this as a problem with a custom session backend, so your first
job is to prove that it isn't your own code that is the problem. If you can
demonstrate the same problem with a native Django session backend, it would
definitely be a release-blocking issue. If you can demonstrate that your
session backend that was functional on Django 1.4 is now having problems
with 1.5, then we might also have a regression that would be a release
blocker -- however, it depends on the exact nature of the regression.

Yours,
Russ Magee %-)

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to