[ZODB-Dev] Conflict Error

2008-06-05 Thread David Otero Figueroa
Hello everyone,


I have a couple questions related to conflict errors.

During our home page stress testing (20 concurrent users), we detected
several conflict errors (see trace below), We thought these could ONLY
appear when writing objects in the ZODB.


2008-05-27T18:57:53 INFO ZODB conflict error at /portal/ (26 conflicts since
startup at 2008-05-27T13:37:19)


I would like to know:
- Can conflict errors appear when reading objects from the ZODB?
- Could conflict errors be the cause of a spinning ZOPE scenario?
- Is there any situation where ZOPE could try to write objects when
rendering an only read page?

Our configuration is as follows: Apache + Pound + ZEO architecture (5 ZEO
clients, 1 ZEO storage server - 650.000 ZODB objects)

Thanks in advance.
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Conflict Error

2008-06-05 Thread David Otero Figueroa
Hello Marco,

I have this problems too in a not estress testing. In a simple access (2
concurrents users) I have this response:

2008-05-27T13:23:48 INFO ZODB conflict error at /portal/ (22 conflicts since
startup at 2008-05-27T10:37:28)
2008-05-27T13:23:48 INFO ZODB conflict error at /portal/ (23 conflicts since
startup at 2008-05-27T10:37:28)
2008-05-27T13:29:21 INFO ZODB conflict error at
/portal/login_form_usuario_pwd/ (29 conflicts since startup at
2008-05-27T10:37:28)
2008-05-27T13:29:22 INFO ZODB conflict error at
/portal/login_form_usuario_pwd/ (30 conflicts since startup at
2008-05-27T10:37:28)
2008-05-27T19:48:40 INFO ZODB conflict error at /portal/portal_css/Plone
Default/ploneStyles5658.css (68 conflicts since startup at
2008-05-27T13:37:19)

How can they be solved?
Can I realize partial commits? How to?

Thanks in advance.
David



2008/6/5 Marco Bizzarri [EMAIL PROTECTED]:

 Even though I'm not a ZODB guru, I would suggest investigating if your
 page is really a read-only one.

 I had a case with ab tool which I used as a stress tool. It openend a
 new session for each client and each request, thus potentially causing
 conflicts.

 Regards
 Marco

 On Thu, Jun 5, 2008 at 12:10 PM, David Otero Figueroa [EMAIL PROTECTED]
 wrote:
 
 
  Hello everyone,
 
  I have a couple questions related to conflict errors.
 
  During our home page stress testing (20 concurrent users), we detected
  several conflict errors (see trace below), We thought these could ONLY
  appear when writing objects in the ZODB.
 
  2008-05-27T18:57:53 INFO ZODB conflict error at /portal/ (26 conflicts
 since
  startup at 2008-05-27T13:37:19)
 
 
  I would like to know:
  - Can conflict errors appear when reading objects from the ZODB?
  - Could conflict errors be the cause of a spinning ZOPE scenario?
  - Is there any situation where ZOPE could try to write objects when
  rendering an only read page?
 
  Our configuration is as follows: Apache + Pound + ZEO architecture (5 ZEO
  clients, 1 ZEO storage server - 650.000 ZODB objects)
 
  Thanks in advance.
 
 
  ___
  For more information about ZODB, see the ZODB Wiki:
  http://www.zope.org/Wikis/ZODB/
 
  ZODB-Dev mailing list  -  ZODB-Dev@zope.org
  http://mail.zope.org/mailman/listinfo/zodb-dev
 
 



 --
 Marco Bizzarri
 http://iliveinpisa.blogspot.com/

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


[ZODB-Dev] Conflict Error that won't go away?

2006-03-02 Thread Sidnei da Silva
Hi there,

I'm facing an issue with a ConflictError that won't go away even after
restarting. Looks like the ZODB got screwed somehow. Here's the
traceback:

* Module Zope.App.startup, line 163, in zpublisher_exception_hook
* Module ZPublisher.Publish, line 107, in publish
* Module Zope.App.startup, line 222, in commit
* Module ZODB.Transaction, line 252, in commit
* Module ZODB.Connection, line 738, in tpc_vote
* Module ZEO.ClientStorage, line 849, in tpc_vote
* Module ZEO.ClientStorage, line 833, in _check_serials

ConflictError: database conflict error (oid 0xd40acd, serial this txn
started with 0x0363a06b42bc2499 2006-02-24 15:39:15.641000, serial currently
committed 0x0363b6ce866bdc88 2006-02-28 15:10:31.505000)

The system where this is happening is running a ZEO Server and a
single ZEO Client. At some point, near the date mentioned in the
traceback, the system ran out of disk space during a large
transaction.

Could this have affected the database?

What are the steps to recover from it? Maybe truncate the database?

What can be done to avoid it in the future?

-- 
Sidnei da Silva
Enfold Systems, LLC.
http://enfoldsystems.com
___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Conflict Error that won't go away?

2006-03-02 Thread Dennis Allison

We've seen this problem occasionally.  Usually deleting the ZEO cache 
clears the problem.


On Thu, 2 Mar 2006, Sidnei da Silva wrote:

 Hi there,
 
 I'm facing an issue with a ConflictError that won't go away even after
 restarting. Looks like the ZODB got screwed somehow. Here's the
 traceback:
 
 * Module Zope.App.startup, line 163, in zpublisher_exception_hook
 * Module ZPublisher.Publish, line 107, in publish
 * Module Zope.App.startup, line 222, in commit
 * Module ZODB.Transaction, line 252, in commit
 * Module ZODB.Connection, line 738, in tpc_vote
 * Module ZEO.ClientStorage, line 849, in tpc_vote
 * Module ZEO.ClientStorage, line 833, in _check_serials
 
 ConflictError: database conflict error (oid 0xd40acd, serial this txn
 started with 0x0363a06b42bc2499 2006-02-24 15:39:15.641000, serial currently
 committed 0x0363b6ce866bdc88 2006-02-28 15:10:31.505000)
 
 The system where this is happening is running a ZEO Server and a
 single ZEO Client. At some point, near the date mentioned in the
 traceback, the system ran out of disk space during a large
 transaction.
 
 Could this have affected the database?
 
 What are the steps to recover from it? Maybe truncate the database?
 
 What can be done to avoid it in the future?
 
 

-- 

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


Re: [ZODB-Dev] Conflict Error

2006-02-27 Thread Chris Withers

Antonio Beamud Montero wrote:

Where Status is a Persistent Class, with an OOBTree attribute called
_dict, and serveral methods wrapping this _dict, like add, remove, etc..


OOBTree's have conflict resolution code which will try and do the right 
thing instead of raising a ConflictError...



When several threads try to add to a the 'completed' dict, a conflict
error arises, 


Well, yes, what did you expect?


but if I use distinct keys...


Then what? I'd guess the OOBTree conflict resolution code helps you out 
here :-)



why happens? Can be by using
the Status class around dict?


Sorry, can't understand any of that...


A persistent object (inerith from Persistent) has a simple way to force
a sync()?


No, look at the transaction package for what you want to be doing here...

cheers,

Chris

--
Simplistix - Content Management, Zope  Python Consulting
   - http://www.simplistix.co.uk

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev


[ZODB-Dev] Conflict Error

2006-02-24 Thread Antonio Beamud Montero
Hi all:
I have a problem with conflicts in my system. I have implemented a
multi-thread server and I have several server as ZEO clients.

In ZODB I have created 3 objects:
root['pendings'] = Status()
root['error'] = Status()
root['completed'] = Status()

Where Status is a Persistent Class, with an OOBTree attribute called
_dict, and serveral methods wrapping this _dict, like add, remove, etc..

When several threads try to add to a the 'completed' dict, a conflict
error arises, but if I use distinct keys... why happens? Can be by using
the Status class around dict?

A persistent object (inerith from Persistent) has a simple way to force
a sync()?

Thanks.

___
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev