Opened 14 years ago

Closed 14 years ago

#712 closed defect (fixed)

DbControl.commit() may call onBeforeCommit() multiple times for the same item

Reported by: Nicklas Nordborg Owned by: Nicklas Nordborg
Priority: critical Milestone: BASE 2.4
Component: core Version:
Keywords: Cc:

Description

See ticket #711 for a symptom of this defect. The Experiment.onBeforeCommit() is called two times because the Transaction.onBeforeCommit() loads the experiment with DbControl?.getItem() again.

I think the getItem() method only should add newly loaded items to the commit queue. As another precaution agains this the DbControl?.commit() method should check if an item has already been processed earlier. This is easy since it keeps track of items that has been processed. Third, the Experiment.onBeforeCommit() should reset the byte count so it doesn't increase the byte count if it should be called twice for some other reason.

Change History (1)

comment:1 Changed 14 years ago by Nicklas Nordborg

Resolution: fixed
Status: newclosed

(In [3629]) Fixes #712, References #711

Note: See TracTickets for help on using tickets.