[Zope] Zope pretends to receive and send XMLRPC data, but strace sees nothing ! (fwd)

yacine chaouche yacinechaouche at gmail.com
Wed Jan 24 12:23:33 EST 2007


As Gabriel Genellina said earlier in this discussion, the probleme could
come from the dicoLignes variable that is stored in the session.I don't get
it, the exception says that the Increaser object is responsible of the
conflict error :

ZODB.POSException.ConflictError database conflict error (oid 0x09, class
Products.Transience.Transience.Increaser, serial this txn started with
0x036b192256c66688 2007-01-23 16:34:20.337891, serial currently committed
0x036b19236a4be0ee 2007-01-23 16:35:24.913219)

But the Increaser class has a _p_resolveConflict method :

<code>
class Increaser(Persistent):
    """
    A persistent object representing a typically increasing integer that
    has conflict resolution which uses the greatest integer out of the three
    available states.
    """
    ...
    def _p_resolveConflict(self, old, state1, state2):
        return max(old, state1, state2)

</code>

http://www.zope.org/Members/jim/ZODB/ApplicationLevelConflictResolution says
:
"" When a conflict is detected, then the database checks to see if the class
of the object being saved defines the method, _p_resolveConflict. If the
method is defined, then the method is called on the object. If the method
succeeds, then the object change can be committed, otherwise a
ConflictErroris raised as usual.""

But how can the simple instruction return max(old,state1,state2) not
"succeed" ??!!

anyway, i decided to rewrite it like this :
<code>
    def _p_resolveConflict(self, old, state1, state2):
        try:
            number = max(old,state1,state2)
        except Exception,msg:
            import traceback
            traceback.print_exc(file=sys.stdin)
        return max(old, state1, state2)
</code>

And still the same exception is raised !

<traceback on the console>
exception raised in the publish module, in function publish
Traceback (most recent call last):
  File "/opt/aef/Zope-2.9.0/lib/python/ZPublisher/Publish.py", line 119, in
publish
    transactions_manager.commit()
  File "/opt/aef/Zope-2.9.0//lib/python/Zope2/App/startup.py", line 234, in
commit
    transaction.commit()
  File "/opt/aef/Zope-2.9.0//lib/python/transaction/_manager.py", line 96,
in commit
    return self.get().commit(sub, deprecation_wng=False)
  File "/opt/aef/Zope-2.9.0//lib/python/transaction/_transaction.py", line
380, in commit
    self._saveCommitishError() # This raises!
  File "/opt/aef/Zope-2.9.0//lib/python/transaction/_transaction.py", line
378, in commit
    self._commitResources()
  File "/opt/aef/Zope-2.9.0//lib/python/transaction/_transaction.py", line
433, in _commitResources
    rm.commit(self)
  File "/opt/aef/Zope-2.9.0//lib/python/ZODB/Connection.py", line 484, in
commit
    self._commit(transaction)
  File "/opt/aef/Zope-2.9.0//lib/python/ZODB/Connection.py", line 526, in
_commit
    self._store_objects(ObjectWriter(obj), transaction)
  File "/opt/aef/Zope-2.9.0//lib/python/ZODB/Connection.py", line 554, in
_store_objects
    s = self._storage.store(oid, serial, p, self._version, transaction)
  File "/opt/aef/Zope-2.9.0//lib/python/tempstorage/TemporaryStorage.py",
line 200, in store
    data=data)
ConflictError: database conflict error (oid 0x09, class
Products.Transience.Transience.Increaser, serial this txn started with
0x036b1eec70e150ee 2007-01-24 17:16:26.456283, serial currently committed
0x036b1eee46e27955 2007-01-24 17:18:16.613593)
</traceback>

(i edited publish.py and added a traceback.print_exc(file=stdin) instruction
in the beginning of the except block).



Y.Chaouche

2007/1/23, Maciej Wisniowski <maciej.wisniowski at coig.katowice.pl>:
>
> > And here is the exception that is raised:
> >
> > exception raised in the publish module, in function publish
> > ZODB.POSException.ConflictError database conflict error (oid 0x09, class
> > Products.Transience.Transience.Increaser, serial this txn started with
> > 0x036b192256c66688 2007-01-23 16:34:20.337891, serial currently
> committed
> > 0x036b19236a4be0ee 2007-01-23 16:35:24.913219)
> >
> > What happend ?
> Sorry for doing that but I'll send you to list archives.
> There were a lot of threads about conflict errors. I think
> you'll find them helpful.
>
> --
> Maciej Wisniowski
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.zope.org/pipermail/zope/attachments/20070124/36a4c572/attachment.htm


More information about the Zope mailing list