[ https://issues.apache.org/jira/browse/CASSANDRA-2661?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13035909#comment-13035909 ]
Benjamin Manes commented on CASSANDRA-2661: ------------------------------------------- Validated compatibility with NonBlockingHashMap. CLHM is implemented as a decorator to CHM to provide the bounded capacity semantics. This allows it to remain a light-weight addition without incurring the complexity of the hash-table design. It is implemented as a mostly non-blocking decorator, where the blocking calls are low impact (#clear(), snapshot views). As described in [1], the java_util_concurrent_chm.jar can be added to the bootclasspath to swap CHM with NBHM. If Cassandra did this, then it would transparently switch the backing hash-table for CLHM and observe the scalability benefits. This would be preferred v.s. requiring changes by CLHM. It does not appear that Cassandra is taking advantage of this at this time. [1] http://high-scale-lib.cvs.sourceforge.net/viewvc/high-scale-lib/high-scale-lib/README > Canary CLHM v1.2 > ---------------- > > Key: CASSANDRA-2661 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2661 > Project: Cassandra > Issue Type: Task > Reporter: Benjamin Manes > Attachments: clhm-20110517.jar > > > I am hoping to release ConcurrentLinkedHashMap v1.2 by the end of the week. > This task is optional, but gives you the opportunity to canary the library > and provide any final feedback. There are currently 285 tests (some threaded) > plus a load test, so reliability-wise I'm fairly confident. > This release has numerous performance improvements. See the change log for > details. > It also includes a few useful features that may be of interest, > - Snapshot iteration in order of hotness (CASSANDRA-1966) > - Optionally defer LRU maintenance penalty to a background executor (instead > of amortized on caller threads) > http://code.google.com/p/concurrentlinkedhashmap/ -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira