[egenix-users] Critical: ReadConflict Error with mxODBCZopeDA

Igor Elbert ielbert at genuone.com
Thu Dec 2 17:48:30 CET 2004


ReadConflict errors in mxODBC keep popping up.
As suggested we made sure that connection pooling is disabled in the ODBC
manager and enabled in the mxODBC Zope DA.

The pool size is set to 12 which should be enough since we are testing with
no more than 2 simultaneous users.

What is puzzling is that, judging by the traceback in my previous message,
the read conflicts happen when calling
Products.mxODBCZopeDA.ZopeDA.ZopeConnection. Why mxODBC DA stores volatile
data in ZODB is beyond my understanding.
It seems that the problem occurs only when "On demand" connection is
enabled. In this case mxODBC DA unnecessary causes ZODB to grow.

To test this we created a Zope Folder containing mxODBC connection and a
simple select ZSQL script that uses it. I run ZSQL many (20+) times and look
at the Folder's Undo tab. It shows transactions that can be undone - data.fs
grows.

Please advise.

Thanks,
Igor


-----Original Message-----
From: M.-A. Lemburg [mailto:mal at egenix.com]
Sent: Tuesday, October 26, 2004 3:32 AM
To: Igor Elbert
Cc: egenix-users at egenix.com
Subject: Re: [egenix-users] Critical: ReadConflict Error with
mxODBCZopeDA


Igor Elbert wrote:
> When testing mxODBCZopeDA we frequently encounter ReadConflict errors
> related to mxODBCZopeDA.ZopeDA.ZopeConnection object. Traceback is:
>
> Traceback (most recent call last):
>   File "..../lib/python\Shared\DC\ZRDB\DA.py", line 398, in __call__
>     DB__=dbc()
>   File "..../lib/python\ZODB\Connection.py", line 553, in setstate
>     invalid = self._is_invalidated(obj)
>   File "..../lib/python\ZODB\Connection.py", line 579, in _is_invalidated
>     raise ReadConflictError(object=obj)
> ReadConflictError: database read conflict error (oid 0000000000001bac,
class
> Products.mxODBCZopeDA.ZopeDA.ZopeConnection
> )
>
> This causes Zope's DA to raise 'Not connected to a database' exception.

Please make sure that you have connection pooling disabled in the
ODBC manager and enabled in the mxODBC Zope DA. It may be necessary
to set the pool size of the Zope DA to a higher value.

> When user hits "reload" the problem disappears. It can not be a timeout
> issues since the problem hits actively working users.
>
> Our environment is:
> Zope Version  (Zope 2.6.2 (binary release, python 2.1, win32-x86), python
> 2.1.3, win32)
> Python Version  2.1.3 (#35, Apr 8 2002, 17:47:50) [MSC 32 bit (Intel)]
> System Platform  win32
> Connection Information  Connected database: Microsoft SQL Server,
08.00.0194
> ODBC driver: SQLSRV32.DLL, 03.80.0194
>
> Please help!
>
> Thank you,
> Igor Elbert
>
> This email and any files transmitted with it are confidential and intended
solely for the use of the individual or entity to whom they are addressed.
If you have received this email in error please notify the system manager.
This message contains confidential information and is intended only for the
individual named. If you are not the named addressee you should not
disseminate, distribute or copy this e-mail.
>
>
> _______________________________________________________________________
> eGenix.com User Mailing List                     http://www.egenix.com/
> http://lists.egenix.com/mailman/listinfo/egenix-users

--
Marc-Andre Lemburg
eGenix.com

Professional Python Services directly from the Source  (#1, Oct 26 2004)
 >>> Python/Zope Consulting and Support ...        http://www.egenix.com/
 >>> mxODBC.Zope.Database.Adapter ...             http://zope.egenix.com/
 >>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________

::: Try mxODBC.Zope.DA for Windows,Linux,Solaris,FreeBSD for free ! ::::

This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the system manager. This message contains confidential information and is intended only for the individual named. If you are not the named addressee you should not disseminate, distribute or copy this e-mail.



More information about the egenix-users mailing list