[ 
https://issues.apache.org/jira/browse/CASSANDRA-1891?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jonathan Ellis updated CASSANDRA-1891:
--------------------------------------

    Attachment: 1891-v2.txt

v2 (against 0.7 branch) adds a comment to ColumnSortedMap:

{code}
 * Facade over a DataInput that contains IColumns in sorted order.
 * We use this because passing a sorted map to the ConcurrentLinkedHashMap 
constructor is the only way
 * to invoke its private buildFromSorted method and avoid worst-case behavior 
of CLHM.put.
{code}

and fixes the bug in deserialization (markedForDelete long comes *before* 
column count, and had been moved to after).

tests pass now.


> large supercolumn deserialization invokes CSLM worst case scenario
> ------------------------------------------------------------------
>
>                 Key: CASSANDRA-1891
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1891
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Cliff Moon
>            Priority: Minor
>             Fix For: 0.7.1
>
>         Attachments: 1891-v2.txt, supercolumn.patch
>
>
> SuperColumn deserialization hits a worst case insert scenario for CSLM: 
> inserting pre-sorted entries one at a time.  Inside of CSLM this requires 
> scanning to the end of the list and doing a comparison at every step for 
> every item inserted.  This patch supplies a SortedMap interface to the 
> supercolumn deserialization.  CSLM will do a bulk insert from a SortedMap 
> interface supplied in the constructor.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to