[ https://issues.apache.org/jira/browse/CASSANDRA-2893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13174911#comment-13174911 ]
Jonathan Ellis commented on CASSANDRA-2893: ------------------------------------------- On the code side: should we just get rid of AbstractColumnContainer now since it's basically just a wrapper around ISortedColumns? Doesn't Guava Functions.identity do the same as ACC.identity? {quote} + * In case we are adding a lot of columns, failing the final compare + * and swap could be expensive. To mitigate, we check we haven't been + * beaten by another thread after every column addition. If we have, + * we bail early, avoiding unnecessary work if possible. {quote} I wonder if this is premature optimization or even counterproductive for the uncontended case. Did you do any testing around this? More generally it may be worth looking at the before- and after- yourkit traces for uncontended to see if there's any improvement we can make in AtomicSortedColumns or if most of the overhead is from SnapTreeMap. > Add row-level isolation > ----------------------- > > Key: CASSANDRA-2893 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2893 > Project: Cassandra > Issue Type: Improvement > Reporter: Jonathan Ellis > Assignee: Sylvain Lebresne > Priority: Minor > Fix For: 1.1 > > Attachments: 0001-Move-deletion-infos-into-ISortedColumns-v2.patch, > 0001-Move-deletion-infos-into-ISortedColumns.patch, > 0002-Make-memtable-use-CF.addAll-v2.patch, > 0002-Make-memtable-use-CF.addAll.patch, > 0003-Add-AtomicSortedColumn-and-snapTree-v2.patch, > 0003-Add-AtomicSortedColumn-and-snapTree.patch, latency-plain.svg, > latency.svg, snaptree-0.1-SNAPSHOT.jar > > > This could be done using an the atomic ConcurrentMap operations from the > Memtable and something like http://code.google.com/p/pcollections/ to replace > the ConcurrentSkipListMap in ThreadSafeSortedColumns. The trick is that > pcollections does not provide a SortedMap, so we probably need to write our > own. > Googling [persistent sortedmap] I found > http://code.google.com/p/actord/source/browse/trunk/actord/src/main/scala/ff/collection > (in scala) and http://clojure.org/data_structures#Data Structures-Maps. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira