zodb transaction rollback

Malika LBAOUCH <[email protected]> Thu, 23 Apr 2009 10:49:25 +0200
Newsgroups gmane.comp.web.zope.cps.general.french
Message-ID <[email protected]>
--===============0881344886==
Content-Type: multipart/alternative; boundary=00504502dc8d1021a8046834f55b

--00504502dc8d1021a8046834f55b
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

Bonjour,

Lorsque je cr=E9e des documents avec la m=E9thode invokefactory il arrive q=
ue
mon traitement plante au bout d'un certain temps.

Il me pr=E9sente le message The id "LCOL-2009-087_1240345985" is invalid - =
it
is already in use  alors que l'id est sens=E9 =EAtre unique =E9tant g=E9n=
=E9r=E9 avec la
date et l'heure =E0 la seconde pr=E8s.
Je voudrais pouvoir commiter la transaction de cr=E9ation d'un document pou=
r
=E9viter qu'il ne fasse un rollback de la cr=E9ation de tous les documents
pr=E9c=E9dents celui qui plante.
Auriez vous un exemple de ce type de r=E9alisation? merci d'avance.

Traceback (most recent call last):
  File "/usr/local/zope/zope274_base/lib/python/ZPublisher/Publish.py", lin=
e
101, in publish
    request, bind=3D1)
  File "/usr/local/zope/zope274_base/lib/python/ZPublisher/mapply.py", line
88, in mapply
    if debug is not None: return debug(object,args,context)
  File "/usr/local/zope/zope274_base/lib/python/ZPublisher/Publish.py", lin=
e
39, in call_object
    result=3Dapply(object,args) # Type s<cr> to step into published object.
  File
"/usr/local/zope/zope274_base/lib/python/Products/ExternalMethod/ExternalMe=
thod.py",
line 225, in __call__
    try: return f(*args, **kw)
  File
"/usr/local/zope/zope274_instance_i1/Products/AcossDocs/Extensions/geredocj=
uridique.py",
line 914, in genereDoc
    translator.genereDoc()
  File
"/usr/local/zope/zope274_instance_i1/Products/AcossDocs/Extensions/geredocj=
uridique.py",
line 168, in genereDoc
    targetFolder.invokeFactory('lettre_juridique', new_id)
  File "/usr/local/zope/zope274_instance_i1/Products/CPSCore/CPSTypes.py",
line 60, in invokeFactory
    newid =3D wftool.invokeFactoryFor(self, type_name, id, *args, **kw)
  File
"/usr/local/zope/zope274_instance_i1/Products/CPSCore/CPSWorkflowTool.py",
line 247, in invokeFactoryFor
    kwargs=3Dkw)
  File
"/usr/local/zope/zope274_instance_i1/Products/CPSCore/CPSWorkflowTool.py",
line 365, in _createObject
    type_name, id)
  File "/usr/local/zope/zope274_instance_i1/Products/CPSCore/ProxyTool.py",
line 112, in createEmptyProxy
    docid=3Ddocid)
  File "/usr/local/zope/zope274_instance_i1/Products/CPSCore/ProxyTool.py",
line 714, in constructContent
    ob =3D self._constructInstance_fti(container, ti, id, *args, **kw)
  File "/usr/local/zope/zope274_instance_i1/Products/CPSCore/ProxyTool.py",
line 691, in _constructInstance_fti
    newid =3D meth(id, *args, **kw)
  File "/usr/local/zope/zope274_instance_i1/Products/CPSCore/ProxyBase.py",
line 1305, in addProxyDocument
    container._setObject(id, ob)
  File
"/usr/local/zope/zope274_instance_i1/Products/CPSCore/OrderedFolderSupportP=
atch.py",
line 92, in _setObject
    res =3D self._old_ordfold_setObject(id, object, roles, user, set_owner)
  File "/usr/local/zope/zope274_base/lib/python/OFS/ObjectManager.py", line
248, in _setObject
    v=3Dself._checkId(id)
  File "/usr/local/zope/zope274_instance_i1/Products/CPSCore/CPSBase.py",
line 85, in _checkId
    PortalFolder.inheritedAttribute('_checkId')(self, id, allow_dup)
  File "/usr/local/zope/zope274_base/lib/python/OFS/ObjectManager.py", line
81, in checkValidId
    raise BadRequest, (
BadRequest: The id "LCOL-2009-087_1240345985" is invalid - it is already in
use.

ci-joints les param=E8res de config niveau caches zope et zodb (config zeo
avec 2 clients zope)
Peut =EAtre que =E7a peut expliquer les temps de r=E9ponse extremement long=
s avant
le plantage (1h30 pour cr=E9er 15 documents sans arriver au bout puisque le
rollback zope annule la transaction...).

 Environment : Zope/(Zope 2.7.4-0, python 2.3.4, linux2) ZServer/1.1 CPS/3.=
2
data.fs de 15 GO
Le cache ZODB : 30 000 objets
Le cache client zope : 100 MB sur chacun des 2 clients sur les instances i1
(machines prod10 et prod04)
                                            50 MB sur chacun des 2 clients
sur les instances i2 (machines prod10 et prod04)


Malika LB.
ACOSS

--00504502dc8d1021a8046834f55b
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div>Bonjour,</div>
<div>=A0</div>
<div>Lorsque je cr=E9e des documents avec la m=E9thode invokefactory il arr=
ive que mon traitement plante au bout d&#39;un certain temps.</div>
<div>=A0</div>
<div>Il me pr=E9sente=A0le message The id &quot;LCOL-2009-087_1240345985&qu=
ot; is invalid - it is already in use=A0 alors que l&#39;id est sens=E9 =EA=
tre unique =E9tant g=E9n=E9r=E9 avec la date et l&#39;heure =E0 la seconde =
pr=E8s.</div>
<div>Je voudrais pouvoir commiter la transaction de cr=E9ation d&#39;un doc=
ument pour =E9viter qu&#39;il ne fasse un rollback=A0de la cr=E9ation de to=
us les documents pr=E9c=E9dents celui qui plante.</div>
<div>Auriez vous un exemple de ce type de r=E9alisation? merci d&#39;avance=
.</div>
<div>=A0</div>
<div>Traceback (most recent call last):<br>=A0 File &quot;/usr/local/zope/z=
ope274_base/lib/python/ZPublisher/Publish.py&quot;, line 101, in publish<br=
>=A0=A0=A0 request, bind=3D1)<br>=A0 File &quot;/usr/local/zope/zope274_bas=
e/lib/python/ZPublisher/mapply.py&quot;, line 88, in mapply<br>
=A0=A0=A0 if debug is not None: return debug(object,args,context)<br>=A0 Fi=
le &quot;/usr/local/zope/zope274_base/lib/python/ZPublisher/Publish.py&quot=
;, line 39, in call_object<br>=A0=A0=A0 result=3Dapply(object,args) # Type =
s&lt;cr&gt; to step into published object.<br>
=A0 File &quot;/usr/local/zope/zope274_base/lib/python/Products/ExternalMet=
hod/ExternalMethod.py&quot;, line 225, in __call__<br>=A0=A0=A0 try: return=
 f(*args, **kw)<br>=A0 File &quot;/usr/local/zope/zope274_instance_i1/Produ=
cts/AcossDocs/Extensions/geredocjuridique.py&quot;, line 914, in genereDoc<=
br>
=A0=A0=A0 translator.genereDoc()<br>=A0 File &quot;/usr/local/zope/zope274_=
instance_i1/Products/AcossDocs/Extensions/geredocjuridique.py&quot;, line 1=
68, in genereDoc<br>=A0=A0=A0 targetFolder.invokeFactory(&#39;lettre_juridi=
que&#39;, new_id)<br>
=A0 File &quot;/usr/local/zope/zope274_instance_i1/Products/CPSCore/CPSType=
s.py&quot;, line 60, in invokeFactory<br>=A0=A0=A0 newid =3D wftool.invokeF=
actoryFor(self, type_name, id, *args, **kw)<br>=A0 File &quot;/usr/local/zo=
pe/zope274_instance_i1/Products/CPSCore/CPSWorkflowTool.py&quot;, line 247,=
 in invokeFactoryFor<br>
=A0=A0=A0 kwargs=3Dkw)<br>=A0 File &quot;/usr/local/zope/zope274_instance_i=
1/Products/CPSCore/CPSWorkflowTool.py&quot;, line 365, in _createObject<br>=
=A0=A0=A0 type_name, id)<br>=A0 File &quot;/usr/local/zope/zope274_instance=
_i1/Products/CPSCore/ProxyTool.py&quot;, line 112, in createEmptyProxy<br>
=A0=A0=A0 docid=3Ddocid)<br>=A0 File &quot;/usr/local/zope/zope274_instance=
_i1/Products/CPSCore/ProxyTool.py&quot;, line 714, in constructContent<br>=
=A0=A0=A0 ob =3D self._constructInstance_fti(container, ti, id, *args, **kw=
)<br>=A0 File &quot;/usr/local/zope/zope274_instance_i1/Products/CPSCore/Pr=
oxyTool.py&quot;, line 691, in _constructInstance_fti<br>
=A0=A0=A0 newid =3D meth(id, *args, **kw)<br>=A0 File &quot;/usr/local/zope=
/zope274_instance_i1/Products/CPSCore/ProxyBase.py&quot;, line 1305, in add=
ProxyDocument<br>=A0=A0=A0 container._setObject(id, ob)<br>=A0 File &quot;/=
usr/local/zope/zope274_instance_i1/Products/CPSCore/OrderedFolderSupportPat=
ch.py&quot;, line 92, in _setObject<br>
=A0=A0=A0 res =3D self._old_ordfold_setObject(id, object, roles, user, set_=
owner)<br>=A0 File &quot;/usr/local/zope/zope274_base/lib/python/OFS/Object=
Manager.py&quot;, line 248, in _setObject<br>=A0=A0=A0 v=3Dself._checkId(id=
)<br>=A0 File &quot;/usr/local/zope/zope274_instance_i1/Products/CPSCore/CP=
SBase.py&quot;, line 85, in _checkId<br>
=A0=A0=A0 PortalFolder.inheritedAttribute(&#39;_checkId&#39;)(self, id, all=
ow_dup)<br>=A0 File &quot;/usr/local/zope/zope274_base/lib/python/OFS/Objec=
tManager.py&quot;, line 81, in checkValidId<br>=A0=A0=A0 raise BadRequest, =
(<br>BadRequest: The id &quot;LCOL-2009-087_1240345985&quot; is invalid - i=
t is already in use.</div>

<div>=A0</div>
<div>ci-joints les param=E8res de config niveau caches zope et zodb (config=
 zeo avec 2 clients zope)</div>
<div>Peut =EAtre que =E7a peut expliquer les temps de r=E9ponse extremement=
 longs avant le plantage (1h30 pour cr=E9er 15 documents sans arriver au bo=
ut puisque le rollback zope annule la transaction...).</div>
<div>=A0</div>
<div>
<div>Environment=A0: Zope/(Zope 2.7.4-0, python 2.3.4, linux2) ZServer/1.1 =
CPS/3.2</div></div>
<div>data.fs de 15 GO</div>
<div><font face=3D"Helv" size=3D"2">Le cache ZODB : 30 000 objets </font></=
div>
<div><font face=3D"Helv" size=3D"2">Le cache client zope :=A0</font><font f=
ace=3D"Helv" size=3D"2">100 MB sur chacun des 2 clients sur les instances i=
1 (machines prod10 et prod04)</font></div>
<div><font face=3D"Helv" size=3D"2">=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0 50 MB sur chacun des 2 clients sur les instances i2 (<font =
face=3D"Helv" size=3D"2">machines </font>prod10 et prod04)</font></div>
<div>=A0</div>
<div>=A0</div>
<div>Malika LB.</div>
<div>ACOSS</div>

--00504502dc8d1021a8046834f55b--

--===============0881344886==
Content-Type: text/plain; charset="iso-8859-1"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

_______________________________________________
cps-users-fr
Adresse de la liste : [email protected]
Gestion de l'abonnement : <http://lists.nuxeo.com/mailman/listinfo/cps-user=
s-fr>

--===============0881344886==--