cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrus Adamchik <>
Subject Fwd: Non-blocking DataRowStore - need help to test
Date Wed, 22 Feb 2012 19:04:10 GMT

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 (
), let me know. I'll assemble the binaries.


Begin forwarded message:
> From: Andrus Adamchik <>
> Date: February 22, 2012 9:54:41 PM GMT+03:00
> To:
> Subject: Non-blocking DataRowStore - need help to test
> Reply-To:
> Here is a potentially disruptive change to Cayenne core:
> (also see )
> 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 -
. 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

View raw message