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]

Reply via email to