Error monitor: Give GSA sync more retries on conflicts

Bug #1169206 reported by Paul Everitt
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
KARL3
Fix Released
Low
Paul Everitt

Bug Description

Note: Paul (me) is just guessing on this. Below is a traceback produced by gsa_sync. It doesn't happen frequently, but in the interests of "shut up error monitor", perhaps we can give it more retries or something.

Error in script.

Traceback (most recent call last):
  File "/srv/osfkarl/production/14/eggs/karlserve-1.20-py2.6.egg/karlserve/scripts/main.py", line 201, in wrapper
    return func(args)
  File "/srv/osfkarl/production/14/eggs/osi-3.46-py2.6.egg/osi/scripts/gsa_sync.py", line 57, in main
    transaction.commit()
  File "/srv/osfkarl/production/14/eggs/transaction-1.1.1-py2.6.egg/transaction/_manager.py", line 89, in commit
    return self.get().commit()
  File "/srv/osfkarl/production/14/eggs/transaction-1.1.1-py2.6.egg/transaction/_transaction.py", line 329, in commit
    self._commitResources()
  File "/srv/osfkarl/production/14/eggs/transaction-1.1.1-py2.6.egg/transaction/_transaction.py", line 446, in _commitResources
    rm.tpc_vote(self)
  File "/srv/osfkarl/production/14/eggs/ZODB3-3.10.5_perfmetrics-py2.6-linux-i686.egg/ZODB/Connection.py", line 781, in tpc_vote
    s = vote(transaction)
  File "/srv/osfkarl/production/14/eggs/perfmetrics-1.0-py2.6.egg/perfmetrics/__init__.py", line 120, in call_with_metric
    return f(*args, **kw)
  File "/srv/osfkarl/production/14/eggs/RelStorage-1.5.1_perfmetrics2-py2.6.egg/relstorage/storage.py", line 797, in tpc_vote
    return self._vote()
  File "/srv/osfkarl/production/14/eggs/RelStorage-1.5.1_perfmetrics2-py2.6.egg/relstorage/storage.py", line 844, in _vote
    serials = self._finish_store()
  File "/srv/osfkarl/production/14/eggs/RelStorage-1.5.1_perfmetrics2-py2.6.egg/relstorage/storage.py", line 756, in _finish_store
    rdata = self.tryToResolveConflict(oid, prev_tid, serial, data)
  File "/srv/osfkarl/production/14/eggs/ZODB3-3.10.5_perfmetrics-py2.6-linux-i686.egg/ZODB/ConflictResolution.py", line 277, in tryToResolveConflict
    data=newpickle)
ConflictError: database conflict error (oid 0x024506c6, class BTrees.IOBTree.IOBucket, serial this txn started with 0x039debaa78725baa 2013-04-11 16:10:28.229698, serial currently committed 0x039debb11fef3877 2013-04-11 16:17:07.484638)

Revision history for this message
Paul Everitt (paul-agendaless) wrote :

Assigning to Tres for initial review. Perhaps this isn't do-able.

Changed in karl3:
assignee: nobody → Tres Seaver (tseaver)
importance: Undecided → Low
milestone: none → m126
Changed in karl3:
assignee: Tres Seaver (tseaver) → Paul Everitt (paul-agendaless)
status: New → Fix Committed
Changed in karl3:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.