[Zope-dev] Conflict errors on BDBMinimal storage

Gerhard Schmidt estartu at augusta.de
Mon May 17 14:57:45 EDT 2004


On Mon, May 17, 2004 at 01:38:15PM -0400, Chris McDonough wrote:
> On Mon, 2004-05-17 at 13:06, Gerhard Schmidt wrote:
> > > BDBMininalStorage is no longer maintained and doesn't do any "conflict
> > > resolution".  
> > 
> > Why this. I was told some time ago we should use BDBMinimalStorage to 
> > fix the conflict problems. 
> 
> When was that and who told you so?
> 
> > > Even though you'll need to pack frequently, you might want
> > > to try a FileStorage instead.
> > 
> > There is no difference between BDB Storage and Filestorage regarding 
> > the conflicts. 
> 
> OK.
> 
> > > Regardless, using ZEO will presumably always generate more conflict
> > > errors than using a "local" ZODB because the commit time is longer, and
> > > thus there's a better chance that two threads will be committing at the
> > > same time.
> > 
> > The bottom line is that there is no way of getting an shared session 
> > running.
> 
> It works doesn't it?  You just get conflict errors, right?  Conflict
> errors are normal at a certain level.

No It doesn`t. At the Moment we run with single sessions on each frontend
we have rewitten most ob the code using sessions to store ther information 
in cockies. But that´s not realy a good solution. 

> > Why isn´t there an implementation of temporary storage for ZEO
> 
> There is, just use the "tempstorage" package from Zope.

I didn´t find a way to use Tempstorage in zeo.     

<temporarystorage>
   name temporary storage for sessioning
</temporarystorage>

didn´t work. How do i Set up a temporarystorage in zeo. 

> > I dont care about conflit resolution. Its only session data.
> 
> For better or worse, because it is based on ZODB, the implementation
> makes you need to care.

Than maybe the sessioncode should be redesigned not to use ZODB as 
storage but store ther information in some different system maybe 
a RDMB or some other system able to handle the kind of usage. 

> > I simply 
> > need a shared session storage. But as Far as i can see the is no way 
> > of doing this.
> 
> I don't understand.  You seem to have it working.  Is performance the
> issue?

The Performance decrase is there but the Problem is far deeper. If 
an read conflict isn´t resolved after three retries an Exception is 
raised an the request is aborted. And thats the real problem. 

> >  Are we the only site out there running Plone2 (Placeless
> > transaltion Service) at that scale. How do others handle there Session 
> 
> AFAIK Zope is the only appserver that even makes an attempt at allowing
> session data to be shared between servers like this.  Most other
> appservers require you to set up "session affinity" in your load
> balancer and have a session database on each appserver.
 
and nealy every system failed to do so. How do you implement this 
session affinity. Based on source IP. At the moment every large ISP 
uses multiple Proxyserver so every request comes from a different 
IP so the affinity doesn´t work for them. The Proxyserver provided by 
our Computing Center is also split on at least 8 Hosts, so everyone 
using this proxy would lose session infomation, getting very strange 
effekts. 

Bye
	Estartu

--------------------------------------------------------------------------
Gerhard Schmidt    | Nick : estartu      IRC : Estartu  |
Fischbachweg 3     |                                    |  PGP Public Key
86856 Hiltenfingen | estartu at augusta.de                 |   auf Anfrage/
Tel: 08232 77 36 4 |                                    |    on request 
Fax: 08232 77 36 3 |                                    | 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 366 bytes
Desc: not available
Url : http://mail.zope.org/pipermail/zope-dev/attachments/20040517/7070b850/attachment.bin


More information about the Zope-Dev mailing list