|AW: [eclipselink-dev] SVN main commit: bug#304738 - option to avoid possible database deadlock in updates|
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.
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
SVN main commit: bug#304738 - option to avoid possible database deadlock in updates
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)
- 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
Back to the top