I think there's a general way to clear out the SQLObject cache better
than has been done in TG.   I think it was added to a more recent
version of SO, and I must admit to not being a regular SO user in the
last year or so.

If somebody using SO could take a look at this ticket, I think it
might have suggestions that lead to a resolution of  this issue.

http://trac.turbogears.org/ticket/85

Of course, I use SA and it's been resolved there... But if there's a
good SO solution, we should try to get that figured out.

--Mark Ramm

On Mon, Mar 31, 2008 at 9:02 PM, GSP <[EMAIL PROTECTED]> wrote:
>
>  Hello Graham,
>
>  Based on the provided info and configuration, were you able to
>  identify a potential cause of the database transaction issues that I
>  observed.?
>  My work around was admittedly less than ideal and I am still curious
>  to know why the problem only occurs when using mod_wsgi.
>
>  Thanks!
>
>
>
>  On Mar 29, 1:18 am, vandevel <[EMAIL PROTECTED]> wrote:
>  > Thanks for the prompt response. I am aware of the problems with using
>  > SQLObject in a multi-process environment
>  > so mod_wsgi was configured to run in daemon mode. I'm not entirely
>  > familiar with apache configuration so I am guessing the daemon
>  > process is running as Apache user since I did not explicitly set that
>  > configuration option.
>  >
>  > I did discover an issue in the my code which lead to the error when
>  > mod_wsgi is enabled. I loaded a dictionary of SQLObject instances at
>  > module scope in a controller module in order to avoid hitting the
>  > database with each request.  This dictionary of course persists across
>  > transactions so perhaps that indicates something. To resolve the
>  > issue, I simply copied the data into
>  > wrapper objects in order to disconnect the data from the SQLObject
>  > machinery. That did the trick, however, I am a curious to know if
>  > there is a more intelligent solution. It is worth pointing out that I
>  > did set cacheValues=False in the SQLObject class definition and that
>  > did not solve the problem.
>  >
>  > The apache configuration is as follows(purged of sensitive details of
>  > course):
>  >
>  > WSGIDaemonProcess site-1 threads=25
>  > WSGIProcessGroup site-1
>  >
>  > Alias /static /project_dir/static
>  >
>  > WSGIScriptAlias / /project_dir/project.wsgi
>  >
>  > NameVirtualHost *:80
>  > <VirtualHost *:80>
>  >         ServerAdmin [EMAIL PROTECTED]
>  >
>  >         DocumentRoot /project_dir
>  >
>  >         # Possible values include: debug, info, notice, warn, error,
>  > crit,
>  >         # alert, emerg.
>  >         LogLevel warn
>  >
>  >         CustomLog /var/log/apache2/access.log combined
>  >         ServerSignature On
>  >
>  >         <Directory /project_dir>
>  >            Order deny,allow
>  >            Allow from all
>  >         </Directory>
>  > </VirtualHost>
>  >
>  > Thanks for your help!
>  >
>  > On Mar 28, 10:48 pm, Graham Dumpleton <[EMAIL PROTECTED]>
>  > wrote:
>  >
>  > > On Mar 29, 10:17 am, vandevel <[EMAIL PROTECTED]> wrote:
>  >
>  > > > I am wondering if anyone has experienced database transaction problems
>  > > > usingmod_wsgi1.3.
>  > > > My turbogears project is based on TG 1.0.4.4 using SQLObject and I am
>  > > > observing this error when executing some controller methods:
>  >
>  > > > AssertionError: This transaction has already gone through ROLLBACK;
>  > > > begin another transaction.
>  >
>  > > > This only occurs when running the app behindmod_wsgi, however it is
>  > > > not a problem when running the app straight from cherrypy. 
> Clearly,mod_wsgiis doing something which causes the app to behave in this
>  > > > manner.
>  >
>  > > More information required.
>  >
>  > > Are you running your application in embedded mode of mod_wsgi or in
>  > > daemon mode? If in embedded mode, you did read about the problems with
>  > > SQLObject and multiprocess web servers in:
>  >
>  > >  http://code.google.com/p/modwsgi/wiki/IntegrationWithTurboGears
>  >
>  > > If running in daemon mode, are you running it as Apache user, or did
>  > > you configure daemon process to run as you? Also, if in daemon mode,
>  > > how many processes did you set for the daemon process group. Like
>  > > above, if more than one and using multiprocess server, there can be
>  > > issues, although it shouldn't be what you are seeing.
>  >
>  > > Anyway, post what the mod_wsgi configuration you are using is from
>  > > your Apache configuration.
>  >
>  > > Grahamth
>  >
>



-- 
Mark Ramm-Christensen
email: mark at compoundthinking dot com
blog: www.compoundthinking.com/blog

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

Reply via email to