improve session/transaction control

Description

When using mycore with large sets of data the event handling system goes sideways. The main problem is, that its synchronous and can take forever to store something.
1. updating a maintitle[@heritable=true] on a root object with 10000 descendants
2. indexing a large amount of data

Both those task are done in the event handler and executed successive. So make it asynchronous, right? Well, this could lead to database transaction race conditions because we don't know what will be executed first.

To address this problem we enhance the MCRSession with an onCommit(Runnable task) method. Those task will be executed AFTER the last database transaction was commited.

Environment

None

Assignee

Thomas Scheffler

Reporter

Matthias Eichner

Labels

None

URL

None

External issue ID

None

Fix versions

Priority

Medium
Configure