This little issue is really hard to replicate .. i've yet to find out
how to programatically do it because it certainly revolves around a
threading, object caching, and the Yield in Query.py (iteritems).

I just wanted to post this here to see if anyone, with more experience
then i, knows howto replicate this in a test case world.

On to the description....

The set up:: Apache 2.2.6 + Linux + Threaded (_not_ forked) +
mod_python + Django 1.X

Suppose i have a 2 level caching object, that basically overloads the
function to store/get the object(s) from a Memcached overlord cache
(say 60 second expire), and 'local' cache (with a 1-2 second expire
time) ..  the basic function is to keep a highly requested object
_per_ HTTP request local in ram w/o having to go back to the Memcached
cache.

because of various iterators basing themselves off of "yield"
statements in db/models/query.py.  Should 2 threads access the same
Local RAM cache object and try to iterate (yes the READS from the
cache are read/write locked, but this issue appears after the read
lock is released and the object is begin used), the ususal "Value
Error: Generator already running" exception is thrown.

  File "mything/models.py", line 1072, in _set_data
    for p in self.data:
  File "/usr/lib/python2.5/site-packages/django/db/models/query.py",
line 179, in _result_iter
    self._fill_cache()
  File "/usr/lib/python2.5/site-packages/django/db/models/query.py",
line 612, in _fill_cache
    self._result_cache.append(self._iter.next())
ValueError: generator already executing

So, i'm aware this may not be a bug. But my own ignorance for not
doing something right.

This does not happen very often in the servers i am running (about 10
times a day on a 100k+ Django views/per day) which is why its really
hard to track down



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

Reply via email to