[ https://issues.apache.org/jira/browse/CASSANDRA-2893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13194786#comment-13194786 ]
Sylvain Lebresne commented on CASSANDRA-2893: --------------------------------------------- The problem you're seeing is due to the call to get_count and more precisely to the paging we do server side since CASSANDRA-2894. As a result, get_count is not atomic. I'm not sure we have a better solution for that than documenting it's a limitation. But we'd have to keep that in mind if we introduce paging for CQL. Note that not only does that explain why you're seeing delete mismatches on trunk, but also why you don't see mismatches on insert on 1.0 (insertion is done in the same order than the pages are done, so I suspect the insertions were just faster than the paging; and somehow the timing changed things for deletes). Anyway, I've tested with get_count paging disabled (which require hacking the server), and the result are the one expected. * on 1.0, there is mismatches for insertions * on trunk, no mismatches are found For your tests, you'll want to use a get_slice call instead of get_count since we don't page those. > 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, row_isolation_test.py, 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