[fcrepo-dev] Synchronization on getIngestWriter in DefaultDOManager

2011-11-07 Thread Jesper Damkjaer
Hi. I have tried to ingest a number of documents in parallel, but they seem to congest in getIngestWriter in DefaultDOManager. When looking at the source code I can see that this method is synchronized, but I fail to understand why. As far as I can tell ( I admit I have not read through the

Re: [fcrepo-dev] Synchronization on getIngestWriter in DefaultDOManager

2011-11-08 Thread Jesper Damkjaer
of the Fedora codebase, and fresh eyes would be good. The theme of the upcoming 3.6 release is performance and scalability (without major architectural changes), and I think this would fit right in. - Chris On Mon, Nov 7, 2011 at 4:29 PM, Jesper Damkjaer j...@dbc.dk wrote: Hi. I have tried

Re: [fcrepo-dev] Synchronization on getIngestWriter in DefaultDOManager

2011-11-08 Thread Jesper Damkjaer
just removing the synchronized keyword is the right move here. - Chris On Tue, Nov 8, 2011 at 4:49 AM, Jesper Damkjaer j...@dbc.dk wrote: Hi Chris. Actually I just tried to ingest about 20.000 objects in 10 parallel threads, thereby noticing that the number of threads did not seem

[fcrepo-dev] Junit version

2011-11-15 Thread Jesper Damkjaer
Hi. I have looked at some of the tests during my attempt to test multi-threading in DefaultDOManager#getIngestWriter and discovered that the currently used version of junit is 4.5. Is there any reason for staying on an old version of junit? I tried to run the tests using junit 4.10, by changing

Re: [fcrepo-dev] RE : Ingest performances

2012-11-06 Thread Jesper Damkjaer
Environment the University of Virginia Library On Nov 6, 2012, at 4:22 PM, Jesper Damkjaer wrote: I just had a quick look at the code. As far as I can see (and I may not be right) one problem may be the following: Assume both threads with same PID are inside the method getIngestWriter

Re: [fcrepo-dev] RE : Ingest performances

2012-11-07 Thread Jesper Damkjaer
object representing the PID to be inserted would be enough to prevent this, no ? On 06/11/2012 23:51, Jesper Damkjaer wrote: It might be possible to simply just move the call to pidLock.getWriteLock() up before the call to objectExists(). Then the first thread will get the lock

Re: [fcrepo-dev] RE : Ingest performances

2012-11-07 Thread Jesper Damkjaer
I'll like to take a stab at this one. I'm not sure though if I can create a branch or if I should create a fork. Which do You prefer? -Jesper On ons, 2012-11-07 at 12:09 +0100, Jesper Damkjaer wrote: Yes, I think it would. The problem is that the PID cannot be determined until just before

Re: [fcrepo-dev] RE : Ingest performances

2012-11-10 Thread Jesper Damkjaer
. I have created a fork, implemented what I think is necessary, and is currently testing it out. I'll submit a pull request soon. -Jesper On ons, 2012-11-07 at 16:12 +0100, Jesper Damkjaer wrote: I'll like to take a stab at this one. I'm not sure though if I can create a branch or if I should

Re: [fcrepo-dev] [fcrepo] Fcrepo 1024 (#9)

2012-11-16 Thread Jesper Damkjaer
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