Hi Shane,

On 22/05/2012 06:37, Chris Withers wrote:
So, the problem is that, with a Zope 2 app server, any revisions made to
an object (say, a Page Template) don't show in the history tab of that
object *until* the app server is restarted.

Okay, the issue appears to be that, in some circumstances, RelStorage is leaving the read connection with an open transaction that isn't rolled back.

I couldn't find the source of this, but in the meantime, I less heavyweight hack is:

diff --git a/relstorage/storage.py b/relstorage/storage.py
index 2d592d3..459469b 100644
--- a/relstorage/storage.py
+++ b/relstorage/storage.py
@@ -1025,6 +1025,7 @@ class RelStorage(
         self._lock_acquire()
         try:
             self._before_load()
+            self._load_conn.rollback()
             cursor = self._load_cursor
             oid_int = u64(oid)
             try:

However, that open transaction is likely to cause other problems (I'm fairly certain I've seen other effects of this) so do you have any idea where to look for it?

cheers,

Chris

--
Simplistix - Content Management, Batch Processing & Python Consulting
            - http://www.simplistix.co.uk
_______________________________________________
For more information about ZODB, see http://zodb.org/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
https://mail.zope.org/mailman/listinfo/zodb-dev

Reply via email to