Graham Dumpleton
graham.dumpleton at gmail.com
Tue Mar 27 18:23:03 EST 2007
Only suggestion is to doubly make sure that you are doing the required req.session.save() before the request actually returns. If you are using: raise apache.SERVER_RETURN, apache.OK or similar mechanisms whereby you are using exceptions to jump back up calling stack in non error conditions, ensure you have try/finally block where save is being done in finally block. You might log a message at every point you do a save to ensure it is always happening as you expect. You might also try FileSession instead of DBMSession. See documentation for PythonOption to override which storage mechanism is used. This will indicate whether it is just somehow DBM database or all storage mechanisms. BTW, you aren't every performing an unlock() of session at any point are you? Graham On 28/03/07, Detmar Meurers <dm at ling.ohio-state.edu> wrote: > Hi, > > I'm experiencing some strange behavior with mod_python sessions > (using the mod_python Session module, which in my setup seems to use > dbm). I'm using Apache/2.2.0 (Unix) mod_ssl/2.2.0 OpenSSL/0.9.8b DAV/2 > mod_python/3.3.1 Python/2.4.2 on an Intel Mac (mpm-prefork). > > I can store information in the session variable, which I've stored > under req.session, just fine, e.g. > > req.session['rememberme'] = 'foobar' > > but for some reason in situations I haven't been able to pin down > yet, when I store more complex information, e.g. a dictionary such as > > req.session['rememberme'] = {'name' : 'john', > 'address': {'road': 'high st', > 'nr': 22}} > > then often times part of that dictionary value has disappeared when > I look it up again in a later page, e.g. I get a dictionary > containing only the key 'name' instead of both keys. I unfortunately > haven't been able to pin it down further yet (apart from observing > that it seems to appear primarily (?) in situations involving AJAX > POST calls). > > Has someone has seen something like this before? Any hints on what > can cause the disappearance of part of a session variable value? Or > perhaps it for some reason doesnn't read in the session variable > properly in some of the mod_python processes running? Any hints > would be much appreciated! > > Best, > Detmar > > -- > Detmar Meurers, Associate Professor, Dept. of Linguistics, OSU > 201a Oxley Hall, 1712 Neil Avenue, Columbus OH 43210-1298, USA > http://ling.osu.edu/~dm/ GnuPG key on web page > _______________________________________________ > Mod_python mailing list > Mod_python at modpython.org > http://mailman.modpython.org/mailman/listinfo/mod_python >
|