I recently upgraded an application to the newest version of SQLObject
(previously it was using a version from early 2012).  This app was caching
SQLObject objects in Redis to avoid querying the database for commonly used
data.  But after upgrading, a bug fix released as part of SQLObject 1.2.3
broke the caching after running into unpickling errors.  With the new
version of SQLObject, it was refusing to unpickle objects that were already
in SQLObject's cache.  An example of the error message I received is below
(which comes from main.py:1692)

eg. "Cannot unpickle User row with id=1 - a different instance with the id
already exists in the cache"


I've already worked around this to keep my caching working but I was
wondering what the bug was that was fixed in 1.2.3 that necessitated this
change. The site only says "Fixed a bug in cache handling while
unpickling." which I found ironic because it broke caching in my app. Was
the bug a memory leak due to having multiple instances with the same ID in
memory or was there something else? I ask because my app never seemed to
experience any adverse side effects from taking advantage of this "bug".


Andrew
------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_may
_______________________________________________
sqlobject-discuss mailing list
sqlobject-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss

Reply via email to