Skip to main content

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

Not sure there would be any difference in performance between a one time quicksort, and a sort of the element on every add/put, especially with the change sets being used for more than just the commit.

 

 

-----Original Message-----
From: Gordon Yorke
Sent: Monday, March 08, 2010 10:31 AM
To: Dev mailing list for Eclipse Persistence Services
Subject: Re: [eclipselink-dev] SVN main commit: bug#304738 - option to avoid possible database deadlock in updates

 

We could change the container that is used and store them sorted.  My concern was performance and if we could reduce the performance impact then we could turn this on by default so that fewer users experience this problem
--Gordon

James Sutherland wrote:

I don't think it would make much difference?  We do not store the change sets as a list, so sorting on the fly is easier, and easier to configure.

-----Original Message-----
From: Gordon Yorke
Sent: Monday, March 08, 2010 9:43 AM
To: Dev mailing list for Eclipse Persistence Services
Subject: 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
  
 



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

Back to the top