Jesper-
Thanks so much for this contribution! On the committers' call today, we
discussed your fix and it looks very good. We would like to have an integration
test to go with it, especially (as we all know) concurrency is very tricky.
{grin}
Will you have some time to create a test or two for this purpose? Perhaps you
can join us on the next committers' call to discuss this?
---
A. Soroka
Software & Systems Engineering :: Online Library Environment
the University of Virginia Library
On Nov 12, 2012, at 9:08 AM, Jesper Damkjaer wrote:
> This is a fix to fcrepo-1024.
>
> The fix moves the call to getWriteLock up before the check on objectExists.
> This way only one thread can be inside the part doing object creation without
> the need for an explicit synchronized statement.
>
> In this fix I have introduced a StringLock in order to ensure that if two
> threads with the same PID ar to being created concurrently, then the second
> thread reaching getWriteLock will wait until the first thread has finished.
> This will ensure, that if e.g. the first thread contains invalid xml, then
> the second thread will complete (if it is valid), because it waits on the
> first thread.
>
> You can merge this Pull Request by running:
>
> git pull https://github.com/damkjaer/fcrepo fcrepo-1024
> Or view, comment on, or merge it at:
>
> https://github.com/fcrepo/fcrepo/pull/9
>
> Commit Summary
>
> • Added a fix of fcrepo-1024 using a new lock-class, StringLock, to ens…
> • Added a fix of fcrepo-1024 using a new lock-class, StringLock, to ens…
> File Changes
>
> • M
> fcrepo-server/src/main/java/org/fcrepo/server/storage/DefaultDOManager.java
> (35)
> • A
> fcrepo-server/src/main/java/org/fcrepo/server/utilities/StringLock.java (176)
> • A
> fcrepo-server/src/test/java/org/fcrepo/server/utilities/StringLockTest.java
> (199)
> Patch Links
>
> • https://github.com/fcrepo/fcrepo/pull/9.patch
> • https://github.com/fcrepo/fcrepo/pull/9.diff
> —
> Reply to this email directly or view it on GitHub.
>
>
------------------------------------------------------------------------------
Monitor your physical, virtual and cloud infrastructure from a single
web console. Get in-depth insight into apps, servers, databases, vmware,
SAP, cloud infrastructure, etc. Download 30-day Free Trial.
Pricing starts from $795 for 25 servers or applications!
http://p.sf.net/sfu/zoho_dev2dev_nov
_______________________________________________
Fedora-commons-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/fedora-commons-developers