FYI. 

Figured I'd expand the scope of this pre-announcement to find some volunteers 
to test the new code. If anyone wants to do it, but can't build Cayenne trunk 
for some reason ( http://cayenne.apache.org/building-cayenne.html ), let me 
know. I'll assemble the binaries.

Thanks,
Andrus

Begin forwarded message:
> From: Andrus Adamchik <[email protected]>
> Date: February 22, 2012 9:54:41 PM GMT+03:00
> To: [email protected]
> Subject: Non-blocking DataRowStore - need help to test
> Reply-To: [email protected]
> 
> Here is a potentially disruptive change to Cayenne core:
> 
> http://svn.apache.org/viewvc?view=revision&revision=1292437
> (also see https://issues.apache.org/jira/browse/CAY-1670 )
> 
> This removes the major global lock and has a potential to significantly 
> increase throughput (which is an issue, see CAY-1124 by Tore for instance). 
> The implementation is based on a previously untried by us data structure - 
> ConcurrentLinkedHashMap - http://code.google.com/p/concurrentlinkedhashmap/ . 
> It is used by Apache Cassandra, so presumably it works and can handle the 
> load. I internalized this code, placing it under 
> org.apache.cayenne.util.concurrentlinkedhashmap.
> 
> I need help with testing though... Maybe someone has any kind of load tests 
> that can emulate multiple DataContexts attached to a single ServerRuntime and 
> performing various select/modify operations? Or maybe you are daring enough 
> to place this in production? I will do the same on my end.
> 
> To give some reassurance, our single-threaded unit tests pass 100% with no 
> changes after I swapped commons-collections LRUMap to 
> ConcurrentLinkedHashMap. 
> 
> Appreciate feedback on this feature!
> 
> Thanks,
> Andrus

Reply via email to