Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
AW: [eclipselink-dev] SVN main commit: bug#304738 - option to avoid possible database deadlock in updates

Hi James,

 

why make this configurable?

 

Not sorting updates can lead to nasty and hardly reproducible/investigatable deadlock situations.  At least, ordered updates should be the default, I think.

 

-Adrian

 

Adrian Görler
SAP AG

Pflichtangaben/Mandatory Disclosure Statements: http://www.sap.com/company/legal/impressum.epx

 

Von: eclipselink-dev-bounces@xxxxxxxxxxx [mailto:eclipselink-dev-bounces@xxxxxxxxxxx] Im Auftrag von Gordon Yorke
Gesendet: Montag, 8. März 2010 15:43
An: Dev mailing list for Eclipse Persistence Services
Betreff: Re: [eclipselink-dev] SVN main commit: bug#304738 - option to avoid possible database deadlock in updates

 

If we enable sorting would it be better to sort on the fly as the changesets are added to the UnitOfWorkChangeSet instead of resorting the list later?
--Gordon

James Sutherland wrote:

SVN main commit: bug#304738 - option to avoid possible database deadlock in updates

https://bugs.eclipse.org/bugs/show_bug.cgi?id=304738

It is currently possible for uow updates for a class to occur in a

non-consistent order.  This can cause a possible deadlock on the database if

multiple threads are updating the same set of objects at the same time.

This fix adds an option to uow to allow updates within a class to be ordered by pk.

Code review: Andrei (pending)

Changes:

- Added database update deadlock test to client-server test suite

- Added persistence unit property, "eclipselink.order-updates" to allow updates to be ordered

- Made ObjectChangeSet and CacheId Comparable to allow ordering by id

- Added check in CommitManager to sort change sets before updating

- Fixed aggregate check for batch reading in ForeignReferenceMapping include aggregate-collection

 


 
_______________________________________________
eclipselink-dev mailing list
eclipselink-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/eclipselink-dev
  

Back to the top