your doing lots of very idiosyncratic things, so its hard to give much by way of advice or analysis. but the problems your seeing are exactly almost exactly the symptons of some txn and transaction bugs that have been fixed in 2.5.1. i did a write up of the details at. http://www.zope.org/Members/k_vertigo/ShortStories/Transactions/TxnProblems.... i find it strange that you might have run into them as your running 2.5.1, but its possible if you're trying to directly call the tm interface instead of letting the transaction drive the interaction beyond the intiial _register(). one question, are you using any sub transactions as well? its also likely from the description that, there are other problems (stylesheet conflicts). hth, kapil On Friday 12 July 2002 12:20 pm, Brad Clements wrote:
I have an irritated customer whose data driven zope website is screwing up, seemingly due to ZODB Conflicts on StyleSheet.
Description:
Zope 2.5.1 binary on linux
Interbase, gvibDA
Page Templates
Use PageTemplates and lots of javascript with xml-rpc requests to pythonscripts to interace through ZSQL methods to talk to interbase via gvibDA.
I also use SQLDict, maintaining a pool of SQLDict instances (they're expensive to create) in a Queue (stored in an external method)
After pulling an SQLDict from the queue, I attach a gvibDA connection to sqldict by calling the Interbase DA object (to get a db instance), then (from an external method) I call db._register() and then use the connection object from that thread.
This works rather well.
However, as soon as I get a ZODB conflict, all subsequent transactions fail. That is, I am unable to alter the back-end (interbase) database at all. It's as if every single transaction after that point gets a permanent _rollback().
I have no idea why I'm getting conflicts on ZStyleSheet. I even tried creating a cached DTML method that caches the stylesheet, then serving that. But now I get conflicts on that object as well.
2002-07-12T18:45:38 INFO(0) ZODB conflict error at /Smoking/CachedStyleSheet (1 conflicts since startup at 2002-07-12T18:42:15) ------ 2002-07-12T18:47:02 INFO(0) ZODB conflict error at /Smoking/CachedStyleSheet (2 conflicts since startup at 2002-07-12T18:42:15)
So .. it seems that my method of hooking into gvibDA/db.py, calling _register on it (it subclasses THUNKED_TM) is not entirely proper, because once a transaction error occurs, I seem to be blocking some proper rollback.
But, why am I getting a conflict error in the first place? It makes no sense. . Just like getting conflicts on helpsys.
Brad Clements, bkc@murkworks.com (315)268-1000 http://www.murkworks.com (315)268-9812 Fax AOL-IM: BKClements
_______________________________________________ Zope maillist - Zope@zope.org http://lists.zope.org/mailman/listinfo/zope ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope-dev )