Re: [Zope-dev] Conflict errors on BDBMinimal storage

2004-05-17 Thread Chris McDonough
On Thu, 2004-05-13 at 05:23, Gerhard Schmidt wrote:
> Hi,
> 
> whe are running portal unter zope2.7 with one zeo server and six frontend 
> application servers. 
> 
> I have set up zeo to server two storages
> 
> 
>   path $INSTANCE_HOME/var/Data.fs
> 
> 
> 
>   envdir $INSTANCE_HOME/var/session
> 
> 
> temp should provide an shared session. But when is set up the frontends 
> to use temp as /temp_folder, we see many  ZODB conflict errors. The 
> performance decreases and PosErrors appear quite often. 

BDBMininalStorage is no longer maintained and doesn't do any "conflict
resolution".  Even though you'll need to pack frequently, you might want
to try a FileStorage instead.

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.

- C




___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] Conflict errors on BDBMinimal storage

2004-05-17 Thread Gerhard Schmidt
On Mon, May 17, 2004 at 12:45:16PM -0400, Chris McDonough wrote:
> On Thu, 2004-05-13 at 05:23, Gerhard Schmidt wrote:
> > Hi,
> > 
> > whe are running portal unter zope2.7 with one zeo server and six frontend 
> > application servers. 
> > 
> > I have set up zeo to server two storages
> > 
> > 
> >   path $INSTANCE_HOME/var/Data.fs
> > 
> > 
> > 
> >   envdir $INSTANCE_HOME/var/session
> > 
> > 
> > temp should provide an shared session. But when is set up the frontends 
> > to use temp as /temp_folder, we see many  ZODB conflict errors. The 
> > performance decreases and PosErrors appear quite often. 
> 
> 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. 

> 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. 

> 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. Why isn´t there an implementation of temporary storage for ZEO 
I dont care about conflit resolution. Its only session data. I simply 
need a shared session storage. But as Far as i can see the is no way 
of doing this. Are we the only site out there running Plone2 (Placeless
transaltion Service) at that scale. How do others handle there Session 

Bye
Estartu 

--
Gerhard Schmidt| Nick : estartu  IRC : Estartu  |
Fischbachweg 3 ||  PGP Public Key
86856 Hiltenfingen | [EMAIL PROTECTED] |   auf Anfrage/
Tel: 08232 77 36 4 ||on request 
Fax: 08232 77 36 3 || 


pgpqXUCWUVwl0.pgp
Description: PGP signature
___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] Conflict errors on BDBMinimal storage

2004-05-17 Thread Chris McDonough
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.

> Why isnÂt there an implementation of temporary storage for ZEO

There is, just use the "tempstorage" package from Zope.
 
> 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.

> 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?

>  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.

- C



___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists -
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] Conflict errors on BDBMinimal storage

2004-05-17 Thread Dieter Maurer
Gerhard Schmidt wrote at 2004-5-13 11:23 +0200:
> ...
>Is there any why to get a shared session working. 

You know that the ZODB is not designed for high frequency
concurrent writes?

When you want to reduce conflicts you will need to try hard
to minimize concurrent writes.

I have a (non-open) "Transience" implementation that
writes much less then Zope's standard implementation.
However, due to a ZEO weakness, its conflict resolution
currently does not work (ZEO no longer supports "INSTANCE_HOME").

-- 
Dieter

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] Conflict errors on BDBMinimal storage

2004-05-17 Thread Gerhard Schmidt
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. 


   name temporary storage for sessioning


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 | [EMAIL PROTECTED] |   auf Anfrage/
Tel: 08232 77 36 4 ||on request 
Fax: 08232 77 36 3 || 


pgpsBoo3UooYb.pgp
Description: PGP signature
___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] Conflict errors on BDBMinimal storage

2004-05-17 Thread Gerhard Schmidt
On Mon, May 17, 2004 at 07:48:22PM +0200, Dieter Maurer wrote:
> Gerhard Schmidt wrote at 2004-5-13 11:23 +0200:
> > ...
> >Is there any why to get a shared session working. 
> 
> You know that the ZODB is not designed for high frequency
> concurrent writes?
> 
> When you want to reduce conflicts you will need to try hard
> to minimize concurrent writes.

Thats not that easy. Because we use many Thrid Party Products many of 
them use session quite often (namely Placeless Translation Service). 

> I have a (non-open) "Transience" implementation that
> writes much less then Zope's standard implementation.
> However, due to a ZEO weakness, its conflict resolution
> currently does not work (ZEO no longer supports "INSTANCE_HOME").

Is that a bug or intetional. 

Bye
Estartu 

--
Gerhard Schmidt| Nick : estartu  IRC : Estartu  |
Fischbachweg 3 ||  PGP Public Key
86856 Hiltenfingen | [EMAIL PROTECTED] |   auf Anfrage/
Tel: 08232 77 36 4 ||on request 
Fax: 08232 77 36 3 || 


pgpMh1q5XACbt.pgp
Description: PGP signature
___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] Conflict errors on BDBMinimal storage

2004-05-17 Thread Chris McDonough
On Mon, 2004-05-17 at 14:57, Gerhard Schmidt wrote:
> > > 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. 
> 
> 
>name temporary storage for sessioning
> 
> 
> didnÂt work. How do i Set up a temporarystorage in zeo. 

Good question. ;-)  It involves changing the ZEO configuration machinery
to recognize the tempstorage package.  The steps to do this I couldn't
tell you without actually doing it, however.

> > > 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. 

Zope doesn't ship with a useful and maintained relational database.  You
can implement your own SQL-based TransientObjectContainer using the
interfaces defined in Transience/Interfaces.py if you wish, or use
Anthony Baxter's SQLSession product.  It would be nice if there was an
alternate implementation that used a relational database like this.

> > > I simply 
> > > need a shared session storage. But as Far as i can see the is no way 
> > > of doing this.

Of course there is, it's just not built in. ;-)

> > 
> > 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. 

I see.  I'm not sure switching to TemporaryStorage will help much.  I
would first try using a FileStorage and make sure to put the Zope
"lib/python" directory on the ZEO server's Python's PYTHONPATH (to allow
for conflict resolution under ZEO, ZEO must be able to import the
Products package and subpackages therein).  I don't know if this will
help very much, but it's worth a shot.

> > >  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. 

Yes.  It's a hard problem.

- C



___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists -
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] Conflict errors on BDBMinimal storage

2004-05-17 Thread Dr. Thomas Wagner
Hi Chris, hi folks.
thanks for the hint with minimal storage. however the same problem 
occurs with filestorage and is even worse.

we know very well, that we cannot avoid the appearance of conflict 
errors in particular with zeo, and we understand what causes them.

what wonders us is, that we find some contributions about this errors in 
the mailing lists, but no one seems to have a real problem with it. but 
we have! we are not worried about some errors appearing in a log, but we 
are using plone2 witch currently 30 concurrent authenticated users, so 
that this error occurs permanently, thus decreasing system performance 
due to several retries and moreover leading to very frequent nasty 
'POS.Exception Errors' in the browser, whenever four successive tries 
fail (almost every 100. request).

this is not acceptable, and i  wonder wheter there are any plone sites 
with more than a handful of authenticated users that experience the same 
problem.  we found that one (there are more) product responsible for it 
is the placeless translation service, which heavily writes to the session.

so we desperately need a solution for this problem, maybe uncouple the 
session of the locking mechanism or whatever, and this should be a 
problem that should be addressed by the core team. because this is a 
strong reason (and so far the only one) to avoid using zope/plone in a 
large user environment.

i hope some of the community sees the importance of this.
Regards
Thomas

On Thu, 2004-05-13 at 05:23, Gerhard Schmidt wrote:
 

Hi,
whe are running portal unter zope2.7 with one zeo server and six frontend 
application servers. 

I have set up zeo to server two storages

 path $INSTANCE_HOME/var/Data.fs


 envdir $INSTANCE_HOME/var/session

temp should provide an shared session. But when is set up the frontends 
to use temp as /temp_folder, we see many  ZODB conflict errors. The 
performance decreases and PosErrors appear quite often. 
   

BDBMininalStorage is no longer maintained and doesn't do any "conflict
resolution".  Even though you'll need to pack frequently, you might want
to try a FileStorage instead.
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.
- C
 


___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] Conflict errors on BDBMinimal storage

2004-05-17 Thread Michael Dunstan
On 18/05/2004, at 6:57 AM, Gerhard Schmidt wrote:
On Mon, May 17, 2004 at 01:38:15PM -0400, Chris McDonough wrote:
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.
Perhaps you can get some relief by using pound as your load balancer. 
It is quite capable at sniffing out user sessions including watching 
the Cookie header. See http://www.apsis.ch/pound/

Michael
___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists -
http://mail.zope.org/mailman/listinfo/zope-announce
http://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] Conflict errors on BDBMinimal storage

2004-05-18 Thread Chris McDonough
Hi Dr. Wagner,

> thanks for the hint with minimal storage. however the same problem 
> occurs with filestorage and is even worse.
> 
> we know very well, that we cannot avoid the appearance of conflict 
> errors in particular with zeo, and we understand what causes them.
> 
> what wonders us is, that we find some contributions about this errors in 
> the mailing lists, but no one seems to have a real problem with it. but 
> we have! we are not worried about some errors appearing in a log, but we 
> are using plone2 witch currently 30 concurrent authenticated users, so 
> that this error occurs permanently, thus decreasing system performance 
> due to several retries and moreover leading to very frequent nasty 
> 'POS.Exception Errors' in the browser, whenever four successive tries 
> fail (almost every 100. request).
> 
> this is not acceptable, and i  wonder wheter there are any plone sites 
> with more than a handful of authenticated users that experience the same 
> problem.  we found that one (there are more) product responsible for it 
> is the placeless translation service, which heavily writes to the session.

Are you using ZEO for your session storage or are you using a local
storage?  (You hint at it above but you don't actually say one way or
the other.)

> so we desperately need a solution for this problem, maybe uncouple the 
> session of the locking mechanism or whatever, and this should be a 
> problem that should be addressed by the core team. because this is a 
> strong reason (and so far the only one) to avoid using zope/plone in a 
> large user environment.

I also need reliable sessioning for my own customers, so I am working
towards fixing the issues I know about.  But the issues I know about may
not be the same issues as those that you want fixed.  You can ensure
your issues are addressed by devoting resources towards the problem, be
that time+expertise or money or both.

- C



___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope )


Re: [Zope-dev] Conflict errors on BDBMinimal storage

2004-05-18 Thread Dieter Maurer
Gerhard Schmidt wrote at 2004-5-17 21:01 +0200:
> ...
>> However, due to a ZEO weakness, its conflict resolution
>> currently does not work (ZEO no longer supports "INSTANCE_HOME").
>
>Is that a bug or intetional. 

I expect it to be a bug.

I plan to fix it soon -- but currently, I have lots of things to do.
May take some months...

-- 
Dieter

___
Zope-Dev maillist  -  [EMAIL PROTECTED]
http://mail.zope.org/mailman/listinfo/zope-dev
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope-announce
 http://mail.zope.org/mailman/listinfo/zope )