Andreas Hartmann schrieb:
> Hi Lenya devs,
>
> as you may have noticed, I did a quite large commit to the revision
> control infrastructure. The reason for this is that the former
> implementation was not thread safe. This caused various
> synchronization errors (ConcurrentModificationException etc.) when
> running load tests with multiple threads.
>
> A short overview of my changes:
>
> * Refactored XML handling in SourceNodeRCML. Instead of reading/writing
> the XML document for each operation, the list of entries is now loaded
> one and only converted to XML when the RCML is written.
>
> * SourceNodeRCMLs are now singletons per source URI, i.e. for each
> source URI only one RCML object is created. This allows to synchronize
> access to the RCML methods, avoiding concurrent modifications.
>
> * Check-Out is now per session and not per user, i.e. you won't run
> into trouble if you have two browser windows open.
Another one:
* UnitOfWorkImpl.commit()/rollback() are now locked via the class
object. This means that only one session can be committed at a time.
Before, there have been exceptions ("... has been checked out by another
user") when running the load tests and two sessions were committed at
the same time.
-- Andreas
--
Andreas Hartmann, CTO
BeCompany GmbH
http://www.becompany.ch
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]