[
https://issues.apache.org/jira/browse/CASSANDRA-172?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12711300#action_12711300
]
Jun Rao commented on CASSANDRA-172:
-----------------------------------
The code you added doesn't work either. Suppose you have following:
insert (col1, val1, 1)
flush
delete(col1, 2)
and version 1 is iterated first, liveColumns is 1, which is incorrect.
In general, I don't think that you can write any code that works correctly by
just increasing liveColumn. This is because you could see an obsolete version
first and need be prepared to take it back later. You can fix the problem by
having logic for both increasing and decreasing liveColumn. Then, the code is
no longer much simpler than the my version.
> A improved and more general version of get_slice
> ------------------------------------------------
>
> Key: CASSANDRA-172
> URL: https://issues.apache.org/jira/browse/CASSANDRA-172
> Project: Cassandra
> Issue Type: New Feature
> Reporter: Jun Rao
> Assignee: Jun Rao
> Fix For: 0.4
>
> Attachments: 172-addendum-SF.patch, 172-addendum.patch,
> get_slice_from.patchv1, get_slice_from.patchv2, get_slice_from.patchv3
>
>
> Today, get_slice has to scan through all columns in every memtable and
> sstable to get a slice of columns. This becomes inefficient when the number
> of columns in a row is large. We need a more efficient API.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.