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. The changes may seem fundamental because of the large commit, but in fact most changes are refactoring and the addition of synchronization facilities. The RCML interface has changed a bit, but since it is not supposed to be called by client code, but rather from the repository node implementations, this shouldn't cause any incompatibilities. -- Andreas -- Andreas Hartmann, CTO BeCompany GmbH http://www.becompany.ch --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
