cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Ellis (Commented) (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-2893) Add row-level isolation
Date Thu, 22 Dec 2011 17:25:31 GMT


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?

+         * 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.

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:
>             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 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
(in scala) and Structures-Maps.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


View raw message