[ZODB-Dev] ZEO: StorageTransactionError

Christian Reis kiko at async.com.br
Thu May 29 21:02:54 EDT 2003


On Thu, May 29, 2003 at 03:35:12PM -0700, fzachman wrote:
> Can anyone tell me where else I might try asking?  I only chose this
> list because it's the only one listed on zope.org as having to do with
> ZEO. :/

You're in the right place, but sometimes eliciting replies here can be..
challenging :-)

> On Tue, 2003-05-27 at 09:14, fzachman wrote:
> > I tried running the usual queries on this and couldn't find anything
> > short of cvs checkin logs.  The offending bit of code seems to be in the
> > StorageServer's tpc_begin:
> > 
> >     def tpc_begin(self, id, user, description, ext, tid, status):
> >         if self.read_only:
> >             raise ReadOnlyError()
> >         if self.transaction is not None:
> >             if self.transaction.id == id:
> >                 self.log("duplicate tpc_begin(%s)" % repr(id))
> >                 return
> >             else:
> >                 raise StorageTransactionError("Multiple simultaneous
> > tpc_begin"
> >                                               " requests from one
> > client.")
> > 
> > I confess I'm not entirely sure what's going on here as I've just taken
> > to maintaining this setup and I'm not all that familiar with ZEO.  It
> > seems that the client tried to begin more than once, and the second (or
> > x subsequent) time it somehow had a different transaction id?

It seems that the same client tried to start a new transaction twice.
Try tracing into the code to see who calls tpc_begin and finding out why
this happening in your application.

In what application-level circumstance is this happening?

> > I'm not sure if this is an issue with Zope 2.6.1 or with the use of the
> > Berkeley DB. (I hate upgrading 2 things at once. ;)

Are you using BerkeleyStorage?

Take care,
--
Christian Reis, Senior Engineer, Async Open Source, Brazil.
http://async.com.br/~kiko/ | [+55 16] 261 2331 | NMFL



More information about the ZODB-Dev mailing list