[Zope-dev] ZODB Competing read/writes: How to find out which attribute?

Hermann Himmelbauer dusty at qwer.tk
Sat Oct 10 04:48:39 EDT 2009


Am Freitag 09 Oktober 2009 21:44:12 schrieb Roger Ineichen:
> Hi Hermann
>
> > Betreff: Re: [Zope-dev] ZODB Competing read/writes: How to
> > find out which attribute?
> >
> > Hermann Himmelbauer wrote:
> > > Hi,
> > > I once in the while get the following warning in my Zope 3
> >
> > log, which
> >
> > > I'd like to resolve:
> > >
> > > 2009-10-07T14:35:41 WARNING ZopePublication Competing
> >
> > writes/reads at
> >
> > /BSPSite/act/++vh++http:zis.act.at:80/bankneu/++/c/acc/booklis
>
> t/index.html:
> > > database conflict error (oid 0x7a5d, class BTrees.OOBTree.OOBTree,
> > > serial this txn started with 0x0381388ca6804966 2009-10-07
> > > 12:28:39.023700, serial currently committed 0x03813893b087d0cc
> > > 2009-10-07 12:35:41.374343)
> >
> > That URL looks like it should only be reading the database,
> > but the fact that you get a conflict error suggests that the
> > code behind that URL is writing to the database.  If I were
> > you, I would first ensure that read operations never write to
> > the database.
>
> just a hint, sometimes session get accessed with session[key]
> wich will force a write operation. If so, you can prevent creating
> a new session by using session.get(key, someDefaultValue)

Thanks for the info - but why is that? I always had the impression, that 
mydict['mykey'] does the same as mydict.get('mykey')?

What exactly is written during session['mykey']?

Moreover, does that concurrent read/write problem with sessions apply to one 
user only or to anyone who accesses the session?

Best Regards,
Hermann

-- 
hermann at qwer.tk
GPG key ID: 299893C7 (on keyservers)
FP: 0124 2584 8809 EF2A DBF9  4902 64B4 D16B 2998 93C7


More information about the Zope-Dev mailing list