cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Cathy Daw (Commented) (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-2893) Add row-level isolation
Date Fri, 20 Jan 2012 02:39:40 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-2893?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13189579#comment-13189579
] 

Cathy Daw commented on CASSANDRA-2893:
--------------------------------------

I have a question about the test case attached: row_isolation_test.py

Based on how the inserts or deletes are constructed, if I continually poll the column count
of the test key, while a large mutation is being applied, the only value I should see if this
transaction is isolated is 0, 100 or 200k. Otherwise, I print an error message (this is my
version of a 'diff').

Running this script on different versions, I saw the following behavior.  I am not sure if
the experiment is wrong, or if I have a bug because my expectation would be to see no diffs
(or messages from the 2nd thread).
* 0.8.6: incremental column counts on the large column delete and insert (expected)
* 1.0.7: incremental column counts on the large column delete (expected to see insert diffs
as well)
* 1.0 branch: incremental column counts on the large column delete (no diffs expected)
* trunk: incremental column counts on the large column delete (no diffs expected)

*0.8.9 test run* 
{code}
Thread 1: Insert to 100 - Start
Thread 1: Insert End - Expect # columns = 100
Thread 1: Insert to 200k - Start
Thread 1: Insert End - Expect # columns = 200000
Thread 1: Remove 200k - Start
--- Thread 2: Mismatch Column Count.  Current # columns: 184628 Current Test: test3 - remove
200k
--- Thread 2: Mismatch Column Count.  Current # columns: 44765 Current Test: test3 - remove
200k
Thread 1: Remove End - Expect # columns = 0
Thread 1: Insert to 100 - Start
Thread 1: Insert End - Expect # columns = 100
Thread 1: Remove 100 - Start
Thread 1: Remove End - Expect # columns = 0
Thread 1: Insert 100k to 300k - Start
--- Thread 2: Mismatch Column Count.  Current # columns: 569 Current Test: test5 - insert
200k
Thread 1: Insert End - Expect # columns = 200000
{code}


                
> 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

        

Mime
View raw message